home *** CD-ROM | disk | FTP | other *** search
/ Fifty: Elektronik / FIFTY Elektronik (PS_Computer_Vertrieb).iso / ps8 / fty1026 / lhi.hlp < prev    next >
Text File  |  1994-01-14  |  181KB  |  4,389 lines

  1. ≡≡
  2. Basic Information
  3.  
  4.  
  5.  Introduction
  6.  
  7.                 LASI (LAyout System for Individuals(ists))
  8.  
  9.                            (Pronounced "LAZY")
  10.  
  11.                                Version 4.3
  12.  
  13.  
  14.   The LASI CAD System was originally written several years ago for the
  15.   author's own professional use to do IC and semiconductor device layout on
  16.   a personal computer. Since then it has been continuously improved, taking
  17.   advantage if new hardware and software. It has also been used for
  18.   hybrids, printed circuit boards, schematic diagrams and other precision
  19.   drawing applications. LASI has become particularly valuable to students,
  20.   schools, universities, or anyone who doesn't have the funding for more
  21.   elaborate drawing systems.
  22.  
  23.   LASI is intended to be friendly and intuitively obvious, which makes it
  24.   easy to learn and operate by occasional users. Once the basics are
  25.   understood, the commands usually require little additional explanation.
  26.   Most commands operate on the drawing globally, so that there are no
  27.   special editing procedures for different parts of a drawing. There are no
  28.   hierarchical command structures with pull down menus. All commands are
  29.   essentially random access through menus at the side of the display and
  30.   may be easily aborted. Information is usually entered by mouse or
  31.   keyboard. When a command is executed, the program is designed so that the
  32.   results are displayed as soon as possible, to give good operator
  33.   interaction.
  34.  
  35.   Drawings made using LASI can be translated to other drawing systems by
  36.   utility programs. Presently, LASI drawings can be translated to and from
  37.   Calma Stream Format (GDSII) and Caltech Intermediate Format (CIF).
  38.   Drawings can translated into Hewlett-Packard Graphics Language (HP-GL),
  39.   for plotting, and SPICE circuit analysis files can be made from schematic
  40.   or layout drawings for schematic capture or IC simulation.
  41.  
  42.  
  43.   LASI is intended to be propagated by software alone. There is therefore
  44.   no printed manual. This LASI Help and Information program LHI.EXE
  45.   displays all the documentation, and individual topics can be printed if
  46.   desired. If a printed manual is needed, a program MANUAL.EXE is supplied
  47.   that builds a manual complete with index from any LASI help file (files
  48.   with .HLP extension).
  49.  
  50.  
  51.   You should read the remaining Basic Information topics. After that, you
  52.   can work your way through the General Information topics.
  53.  
  54.   If you are in a hurry to run LASI, it is recommended that you read the
  55.   Hardware General Information topic to see if your PC is capable of
  56.   running LASI adequately, and then go to the Quick Start topic.
  57.  
  58.   If you are new to LASI you should use the demonstration IC layout as a
  59.   tutorial, if it has been included on the distribution disk, or is
  60.   available on the network where you downloaded LASI. By working with a
  61.   simple layout, you will get a good idea of how LASI works.
  62.  
  63.   If you have been using LASI version 3.X or 4.0, you MUST read the
  64.   Converting Versions topic. You should also read the System Log, to see
  65.   what changes have been made since the last release.
  66.  
  67.  What's New
  68.  
  69.   LASI version 4.3 is something of an evolutionary change over previous
  70.   versions of LASI. It contains no major changes, but has some bugs fixed
  71.   and several improvements added:
  72.  
  73.   1. Most of the LASI programs are now compiled using Microsoft C/C++ 8.0
  74.      (Visual C++) right off the CD-ROM. This has resulted in significantly
  75.      smaller size for the main programs LASI87.EXE and LASIA.EXE.
  76.  
  77.   2. There is an improved keyboard entry editor.
  78.  
  79.   3. The Cell Mode display has been redesigned slightly to display more
  80.      information more logically.
  81.  
  82.   4. The VIEW and OPEN layer parameters may now be different for different
  83.      ranks of Cell Mode.
  84.  
  85.   5. The TLYR and TWTH commands for text have been replaced by context
  86.      sensitive LAYR and WDTH commands.
  87.  
  88.   6. There is a timed cursor position report that improves mouse response
  89.      on slow computers.
  90.  
  91.   7. The mouse sensitivity can be changed by the SET command.
  92.  
  93.   8. The distance measuring marker can be toggled on and off.
  94.  
  95.   9. There are now fancy menu buttons. (If you don't like the buttons, read
  96.      the FORM File help topic.)
  97.  
  98.   10. The CTRL-C interrupt has been disabled, so that you can't lose your
  99.      latest drawing work by accidentally pressing CTRL-C and jumping back
  100.      to MS-DOS.
  101.  
  102.   11. The latest version of LASICKT.EXE the schematic capture program that
  103.      appeared in later versions of 4.2 is included. A whole new version of
  104.      LASI2CSF.EXE is also included that has more convenient setup and
  105.      faster conversion. You should erase any old LASI2CSF.SET files.
  106.  
  107.   12. There is now a single conversion program 4TO43.COM that allows you to
  108.      modify drawings done with previous versions of LASI 4 to LASI 4.3.
  109.  
  110.   13. When using selection commands such as GET, PUT, WMOV, etc. on path
  111.      vertex points and text reference points, the point now needs only to
  112.      be on the boundary of the cursor window and not fully enclosed by it.
  113.  
  114.   14. Help files have been rearranged so that they may be called from the
  115.      program that they try to help.
  116.  
  117.  Installing LASI
  118.  
  119.   The following information outlines the installation procedures for
  120.   installing LASI on any PC. If you are reading this, you probably have
  121.   done the basic installation already. The information is given here so
  122.   that you can verify that installation has been done correctly.
  123.  
  124.   The system files are distributed in compressed form. The distribution
  125.   will be either a High-Density 5.25" or 3.5" floppy disk version
  126.   consisting of a self-extracting executable file named LASI43.EXE, or a
  127.   network version consisting of files compressed into three ZIP files
  128.   LASI43?A.ZIP, LASI43?B.ZIP and LASI43?C.ZIP, where "?" represents the
  129.   revision number digit (1-9).
  130.  
  131.   If distributed on floppy disk, an installation program INSTALL.EXE should
  132.   have been included. If distributed on a network, a README.TXT file,
  133.   containing installation instructions should have been included within
  134.   each ZIP file.
  135.  
  136.   The system files are listed in the System Contents help topic. If for
  137.   some reason you obtain LASI as individual files, you should check to see
  138.   if you have a complete set of files. All files should have the SAME DATE
  139.   to insure compatibility.
  140.  
  141.   LASI will be ready to run with just the basic installation. When you are
  142.   more familiar with LASI's workings you can do the advanced installation.
  143.  
  144.  
  145.   Installation procedure for networked ZIP compressed files:
  146.  
  147.   1. Make a subdirectory named "\LASI4" on your hard disk under the root
  148.      directory.
  149.  
  150.   2. Using PKUNZIP 2.0 or similar program, uncompress and copy the ZIP
  151.      files LASI43?A.ZIP, LASI43?B.ZIP and LASI43?C.ZIP into the \LASI4
  152.      subdirectory.
  153.  
  154.   3. Add the path "disk:\LASI4" to DOS using the DOS "PATH=" Command, where
  155.      "disk" is the hard disk's letter name.
  156.  
  157.  
  158.   Installation procedure for self-extracting floppy disk version:
  159.  
  160.   1. Run the installation program INSTALL.EXE
  161.  
  162.     INSTALL.EXE will determine the floppy drive that you are using and will
  163.     ask for the hard drive where you want LASI to install. It will then ask
  164.     if you want the LASI files to be installed.
  165.  
  166.     If there is a demonstration present on the distribution disk, INSTALL
  167.     will ask if you want to include it. If you are new to LASI you should
  168.     install the demonstration, otherwise you can skip it.
  169.  
  170.     INSTALL will create a subdirectory named \LASI4 on your hard disk, if
  171.     it has not yet been created, and will extract and copy the system files
  172.     to that subdirectory. It will also create a subdirectory \LASI4\DEMO if
  173.     you install the demonstration.
  174.  
  175.  
  176.   2. Add the path "disk:\LASI4" to DOS using the DOS "PATH=" Command, where
  177.      "disk" is the hard disk's letter name.
  178.  
  179.   Hint:  It is usually easiest to add "\LASI4" to the "PATH=" command in
  180.     your AUTOEXEC.BAT file.
  181.  
  182.  Quick Start
  183.  
  184.   If you are eager to try out LASI here is what to do:
  185.  
  186.   1. Install a mouse and its driver software if you havn't already.
  187.  
  188.     You must have an active mouse to operate LASI.
  189.  
  190.   2. Create a "drawing directory" on the hard disk where you installed the
  191.      system files and make that directory your default directory.
  192.  
  193.     DO NOT make drawings in the \LASI4 directory.
  194.  
  195.   3. Copy the FORM.DBD file from the \LASI4 directory to the drawing
  196.      directory.
  197.  
  198.     The FORM.DBD distributed with the system files is a "generic" version
  199.     and should work with most hardware.
  200.  
  201.   4. Run LASI by simply typing "lasi".
  202.  
  203.     The main drawing program should come up in "System Mode". You can get
  204.     HELP on any COMMAND by putting the MOUSE CURSOR on a MENU BUTTON and
  205.     then pressing F1.
  206.  
  207.   You are now free to experiment on your own!
  208.  
  209.  Converting Versions
  210.  
  211.   Version 3 to Version 4
  212.  
  213.   If you have not been using LASI version 3, or do not have drawings made
  214.   using it, you can skip these instructions.
  215.  
  216.   LASI version 4 has many new features over version 3. You should read the
  217.   System Log topic for a listing of the major changes. Drawings should be
  218.   converted to version 4, since version 3 is no longer supported.
  219.  
  220.   1. Version 4 of LASI now keeps its files in the directory "\LASI4". It is
  221.      important that the MS-DOS PATH be changed to include "\LASI4" and not
  222.      "\LASI" as was previously used, since many of the new files have the
  223.      same name as the old.
  224.  
  225.   2. As a protection, the file name extensions were changed so that
  226.      internal files are invisible to the wrong version. You need to convert
  227.      your internal files (.BPV and .CEL) to version 4 files (.BP4 and
  228.      .CL4). To do this quickly, the program 3TO4.COM has been supplied. To
  229.      convert your files simply run 3TO4.COM while logged into a drawing
  230.      directory. 3TO4.COM will act only on the files in that directory and
  231.      will create new files and leave the old files unchanged.
  232.  
  233.   3. The file CONSTS.DBD used in version 3 was replaced by the file
  234.      CONSTS4.DBD. The new file contains more information in a different
  235.      order than the old CONSTS.DBD file. You may leave the old file in your
  236.      drawing directory so that you can use version 3 again for some reason.
  237.  
  238.   4. The CELLS.DBD file was replaced by the CELLS4.DBD file This is really
  239.      the same file, but the name has been changed to prevent the wrong
  240.      version of LASI from writing to it.
  241.  
  242.   5. FORM.DBD in version 4 contains new parameters. LASI version 3 is
  243.      however smart enough to read for parameter titles so that, if
  244.      necessary, version 3 can read through a version 4 FORM.DBD file and
  245.      pick out only what it needs.
  246.  
  247.  
  248.   Version 4 to Version 4.3
  249.  
  250.   Version 4.3 will work on drawings made with previous versions 4 of LASI.
  251.   The only real difference is that the CONSTS4.DBD file has been modified.
  252.   It is NOT true that older versions of LASI will work with drawings made
  253.   with version 4.3.
  254.  
  255.   Briefly, here are some of the major changes that were made to versions 4
  256.   of LASI:
  257.  
  258.   1. Version 4.1 of LASI allowed basic cells to be taken from a common pool
  259.      located on the same PC or from a Local Area Network. Read the General
  260.      topics Pooling, Pooling Old Cells, Attached Cells and the ATTACH and
  261.      IMPORT Command help topics.
  262.  
  263.   2. Version 4.1 made 64 layers available instead of the previous 32.
  264.  
  265.   3. Version 4.2 had a memory manager and no longer read the FORM.DBD file
  266.      in a drawing for the "box=", "path=", "vtx=", "cell=" and "rank="
  267.      parameters. These can be erased from the FORM.DBD file, unless you
  268.      think you might go back to previous versions of LASI.
  269.  
  270.   4. Version 4.2 required that all cells with rank greater than 1 have a
  271.      CL4 file. This file may be missing if you were using an older version
  272.      of LASI and had no lower rank cells in a cell. If you run LASI and the
  273.      CL4 file is missing LASI will now create one. It will however indicate
  274.      that a cell file is missing with an "Unable to Load File(s)" message,
  275.      or when you draw a cell a lesser cell will be replaced by a dotted
  276.      outline. To fix this problem, simply go in and out of Cell Mode on the
  277.      cell that lacks a CL4 file.
  278.  
  279.   5. Version 4.3 makes many convenience changes. Read the FORM File, Key
  280.      Assignment, Keyboard Input, Making Measurements and SET, VIEW and OPEN
  281.      Command help topics.
  282.  
  283.  
  284.   If you run LASI 4.3 with an old CONSTS4.DBD file, LASI will tell you that
  285.   it is incorrect.
  286.  
  287.   If you run LASI with the CONSTS4.DBD file missing from the drawing
  288.   directory, LASI will create a new file automatically with default
  289.   parameters.
  290.  
  291.   If you don't want to rewrite your parameters, you may run the 4TO43.COM
  292.   program in a drawing directory. This program determines which version of
  293.   LASI you were using, checks for correctness, and rewrites the CONSTS4.DBD
  294.   file, adding the new parameters.
  295.  
  296.  Terms of Distribution
  297.  
  298.   The LASI System can be copied and distributed by anyone. For floppy
  299.   distribution, the self-extracting executable LASI43.EXE, the installation
  300.   program INSTALL.EXE and any optional files should be copied directly from
  301.   the distribution disk.
  302.  
  303.   If LASI is placed on a bulletin board or network, or widely distributed
  304.   in any other way (on a CD-ROM for example), THE AUTHOR SHOULD BE INFORMED
  305.   OF ITS LOCATION. LASI has been found all over the country, mostly in
  306.   duplicates or old versions. If you are going to distribute LASI, always
  307.   contact the author for the newest version.
  308.  
  309.   If you obtained LASI from a network, usually Internet, it should come
  310.   divided into three ZIP files LASI43?A.ZIP, LASI43?B.ZIP and LASI43?C.ZIP.
  311.   For distribution on a network or bulletin board, all three files should
  312.   be uploaded. Any optional files may be included on the network
  313.   separately. DO NOT put any additional files into any of the three LASI
  314.   ZIP files.
  315.  
  316.   On rare occasion, distributing on a CD-ROM for example, the three ZIP
  317.   files may be condensed into a single ZIP file, or all files may be
  318.   expanded into a single directory. If this is done, care must be taken
  319.   that all files be included. The README.TXT file is duplicated in all
  320.   three ZIPs.
  321.  
  322.   Files should NOT be distributed individually, since all the files are
  323.   intended to work with each other in the same distribution. Files should
  324.   all have the SAME DATE.
  325.  
  326.   LASI43.EXE or all three ZIP files will fit on a single 5.25" or 3.5"
  327.   High-Density floppy disk. Breaking the file set into individual files is
  328.   strongly discouraged because of the possibility of losing files or mixing
  329.   file dates.
  330.  
  331.   A person distributing LASI is allowed to charge a fee that will cover
  332.   their distribution costs (labor, floppy, packing, postage, etc.). Any
  333.   fees are ultimately left to the spirit of LASI as being free for personal
  334.   and educational use.
  335.  
  336.  Terms of Licensing
  337.  
  338.   The LASI System has been written over a period of several years, mostly
  339.   for the author's own professional use in making integrated circuits, and
  340.   therefore was not intended as profit-making software.
  341.  
  342.   For this reason, LASI is NOT SHAREWARE in the usual sense; that is,
  343.   everybody is expected to pay if they use the software. LASI is free for
  344.   educational use in order to foster IC design as a heuristic exercise and
  345.   a true art. It is also free for non-profit applications by individuals.
  346.  
  347.   However, if LASI is used to MAKE A PROFIT, then a VOLUNTARY license fee
  348.   of $99 PER COMPUTER on which it is installed is requested. This license
  349.   is for a period of ONE YEAR and should be made payable to the author.
  350.  
  351.   When LASI is licensed, FREE UPDATES including any NEW PROGRAMS will be
  352.   provided during the license period, and will continue to be provided if
  353.   the license is renewed.
  354.  
  355.   This fee is not just to ease the conscience of someone making a profit
  356.   and using LASI for free, but helps to pay for improving LASI with new
  357.   hardware and software and sending out updates to everyone. The fee is not
  358.   expected to be a compensation for the endless hours of coding and
  359.   debugging that have gone into producing LASI.
  360.  
  361.  Terms of Liability
  362.  
  363.   The LASI System is constantly being revised and is distributed on an
  364.   "as is" basis. Since the programs are quite complicated, software bugs
  365.   may be found, often when someone does something that only rarely would be
  366.   done. IF YOU THINK YOU HAVE FOUND A REAL BUG, REPORT IT TO THE AUTHOR.
  367.   The bug will be fixed, and you will receive a corrected version.
  368.  
  369.   Neither the author nor any person distributing the LASI System assumes
  370.   any responsibility for whomever uses the programs or for how the programs
  371.   are used. Also, neither the author nor any person distributing the
  372.   software assumes any liability for any losses monetary or otherwise
  373.   incurred related to the use of the programs.
  374.  
  375.  Getting Updates
  376.  
  377.   Licensed users will receive free updates during their license period.
  378.   Additionally, an attempt will be made to keep known users updated with
  379.   the latest version by informing them that a new version is available,
  380.   where (on a network) it is available, or by just sending out new floppy
  381.   disks.
  382.  
  383.   If dangerous bugs are discovered an attempt will be made to notify or
  384.   send corrected programs to known users.
  385.  
  386.   The author maintains a database of know users, but unknown secondary
  387.   users should be kept updated by those who gave them the software.
  388.  
  389.   Updating secondary users is a responsibility that should be taken
  390.   seriously. People have been found using ancient versions of the programs,
  391.   which have since been debugged, greatly improved, or completely revised.
  392.  
  393.   To prevent continuously notifying or sending updates to anyone who really
  394.   isn't using LASI, There is a CUTOFF PERIOD OF ONE YEAR, after which
  395.   updates will have to be requested.
  396.  
  397.   As a general rule, to be sure that you have the most current software
  398.   contact the author directly.
  399.  
  400.   If you have a V.32bis modem and preferably PROCOMM software, you may
  401.   download the latest version by FIRST CALLING THE AUTHOR at the number
  402.   listed below. Downloading takes about 20 minutes.
  403.  
  404.  Final Comment
  405.  
  406.   With the proper software, personal computers have easily become adequate
  407.   for small to medium sized IC layout applications. LASI can give everyone
  408.   a personal computer based work station. This is particularly true for
  409.   students learning IC technology. In fact, it is the intention of the
  410.   author to eventually develop LASI as a complete educational software
  411.   system for use in IC design courses.
  412.  
  413.   Although it may be used that purpose, LASI was not really intended for
  414.   doing routine IC or ASIC design. Instead, LASI was developed as a
  415.   "fundamental" drawing system, which can generate arbitrary shapes that
  416.   might be needed in any kind of application, new or old. It was also
  417.   intended for people who think in a particular spatial way, as anyone
  418.   working with it will soon realize.
  419.  
  420.   Actually, LASI was really intended to put some fun and relaxation into
  421.   doing layout tasks by allowing a person to work when and where they want,
  422.   and therefore, it is believed, do better more creative work.
  423.  
  424.   Anyone using LASI for fun or profit is encouraged to contact me with any
  425.   suggestions or requests for additional utility or conversion programs.
  426.  
  427.  
  428.                                         Dave Boyce
  429.  
  430.                                         Author of LASI:
  431.                                         Dr. David E. Boyce
  432.                                         IC Technologies Consultant
  433.                                         143B Bergdorf Rd., RR1
  434.                                         Parish, NY 13131, USA
  435.                                         315-625-7291
  436.  
  437. General Information
  438.  
  439.  About LASI Programs
  440.  
  441.   For those interested in the technical side of LASI, here are some brief
  442.   details:
  443.  
  444.   Although the LASI uses mostly integer math, some floating-point math is
  445.   used during the drawing process. For this reason, the main drawing
  446.   program is compiled in two different versions:
  447.  
  448.   1. For use with a coprocessor, it is compiled with inline coprocessor
  449.      instructions, making LASI87.EXE.
  450.  
  451.   2. For use without a coprocessor, it is compiled with alternate floating-
  452.      point math function calls, making LASIA.EXE.
  453.  
  454.   These main drawing programs are written in C and assembly language. The
  455.   source code consists of 4 separate modules containing, briefly:
  456.  
  457.     1. The main(), System Mode command and utility functions (C)
  458.     2. The Cell Mode command functions (C)
  459.     3. The drawing, file and hardware functions (C)
  460.     4. The elementary graphical functions (Assembly)
  461.  
  462.   For maximum speed, the elementary graphical functions are written in
  463.   assembly language. The C modules are complied using Microsoft C/C++ 8.0
  464.   in the Large Model, and the assembly is compiled using Microsoft Macro
  465.   Assembler 6.1. The four object codes are linked together to build the
  466.   main drawing programs.
  467.  
  468.   To start LASI you actually run the small C program LASI.EXE. This program
  469.   determines if there is a coprocessor present, and then writes over itself
  470.   with LASI87.EXE or LASIA.EXE.
  471.  
  472.  
  473.   Most of the more complicated utility programs, such as LASI2CSF.EXE, are
  474.   also written using C/C++ 8.0, while some of the simpler utility programs,
  475.   such as CMDLAYER.EXE are written in Microsoft BASIC 7.1. Most programs
  476.   are compiled using alternate floating-point math function calls, so they
  477.   will all run the same with or without a coprocessor.
  478.  
  479.  Advanced Installation
  480.  
  481.   Once you have mastered getting LASI up and running and probably know what
  482.   you are doing, you can "customize" LASI to your particular hardware or
  483.   drawing style. To do this you can set certain parameters in the FORM.DBD
  484.   file as follows:
  485.  
  486.   1. If you have an appropriate line printer or plotter, set the FORM.DBD
  487.      file's "hcopy=" and "plot=" parameters to allow hard copies and plots
  488.      to be made. Use EDLIN.COM or MS-DOS 5's EDIT to change the FORM.DBD
  489.      file, to prevent any word processor formatting characters from being
  490.      inserted into the FORM.DBD file. Read the FORM File topic and the HCPY
  491.      Command topic.
  492.  
  493.   2. If you have extended memory, install a RAM disk by putting the driver
  494.      into your CONFIG.SYS file. Turn on the RAM disk provision by setting
  495.      the "rdisk=" parameter in the FORM.DBD file to the letter of the RAM
  496.      disk. Read the Using RAM Disk topic.
  497.  
  498.   3. Once you have been using LASI for some time you will have some
  499.      favorite commands that you use often. You can write these into the
  500.      FORM.DBD file under the "fkey=" parameter, and further customize LASI
  501.      to your own way of working. Read the Key Assignment topic.
  502.  
  503.  Attached Cells
  504.  
  505.   A cell that is kept in a common cell pool that is shared among several
  506.   drawings is called an ATTACHED cell. The attached cell will be draw
  507.   normally, but will follow certain rules and will have some special
  508.   properties:
  509.  
  510.   ■ Attached cells are protected and may NOT be changed using Cell Mode.
  511.  
  512.   ■ Attached cells must have the same physical scaling as the drawing.
  513.  
  514.   ■ Attached cells must fit within the memory available for allocation by
  515.     the memory manager for boxes, paths and vertices.
  516.  
  517.   ■ Attached cells may NOT be renamed with the RENAM command.
  518.  
  519.   ■ Attached cells are searched for in the pool directory only, while
  520.     normal cells are searched for in the drawing directory only. If a cell
  521.     file (BP4) is not found, a "null" cell is drawn. LASI draws a null cell
  522.     as a dotted outline. A null cell is different from a cell that has
  523.     nothing in it in that there is no BP4 file for a null cell.
  524.  
  525.   ■ Attached cells may be added to the drawing directory in two ways:
  526.  
  527.   1. You can use the System Mode IMPORT command and give the imported cell
  528.      the SAME NAME. This copies the cell's BP4 file to the drawing
  529.      directory and turns the attached cell into a normal cell.
  530.  
  531.   2. You can use the IMPORT command and give the copied cell a NEW NAME.
  532.      This is preferred if you are going to modify the cell and use it in a
  533.      few places.
  534.  
  535.  
  536.   ■ Attached cells may be smashed using the SMSH command. This effectively
  537.     adds an attached cell's boxes, paths and text to the current cell.
  538.  
  539.   ■ Attached cells may be used in the MAKE command. They will be added to
  540.     the new cell as would any other cell, but they will still be attached
  541.     cells.
  542.  
  543.   ■ The commands OUTL, FULL, INFO and SHOW work on attached cells.
  544.  
  545.   ■ If you are using a RAM disk, the first time you draw a attached cell it
  546.     will be copied to the RAM disk. It will still remain protected but will
  547.     draw faster.
  548.  
  549.   ■ Attached cell names appear in red in the LIST command cell listing.
  550.  
  551.  
  552.   Cells with rank greater than 1 may be attached, but only the boxes, poly
  553.   and paths will be drawn and the cell will be forced to rank 1. The reason
  554.   for this is that LASI uses pointers to cells in its cell placement data.
  555.   These pointers would be different for different drawings. The TLCIN.EXE
  556.   program must be used to install any cells containing other cells. More
  557.   often, cells containing other cells are usually drawing specific and
  558.   would not be shared with other drawings anyway.
  559.  
  560.  Archiving
  561.  
  562.   It is highly recommended that you keep current backups or archives of
  563.   your drawings. You should use the TLC external data format. The TLC
  564.   format is written in ASCII text, and is very forgiving. It may in fact be
  565.   written or repaired using a text editor.
  566.  
  567.   To dump a complete drawing you only need to run TLCOUT.EXE in a drawing
  568.   directory, or alternately, to dump only a certain cell, give it the name
  569.   of the that cell and TLCOUT.EXE will make all the required cells. Backup
  570.   TLC files may be written directly to a floppy disk if they will all fit,
  571.   or they can be written to a hard disk and then to one or more floppy
  572.   disks.
  573.  
  574.   Once TLC files are made, a complete drawing or individual cells can be
  575.   reconstructed if necessary.
  576.  
  577.   It might be said that TLC is the true way of storing LASI drawings. The
  578.   internal data files (BP4 and CL4 files) are really a convenience to
  579.   reduce the startup time for LASI.
  580.  
  581.   Read the TLC Conversion topic.
  582.  
  583.  Backups
  584.  
  585.   LASI contains an amount of protection against drawing loss. It will write
  586.   your latest drawing files to your hard disk at certain times so that if
  587.   the computer is turned off or fails, or you simply make a mistake or
  588.   change your mind, your drawing will survive.
  589.  
  590.   Whenever you exit Cell Mode all files are updated on the hard disk. This
  591.   includes the BP4 and CL4 files for the particular cell and the CELLS4.DBD
  592.   and CONSTS4.DBD files. This happens even if you are using a RAM disk for
  593.   temporary file storage.
  594.  
  595.   There are two files CELLBKUP.BP4, CELLBKUP.CL4 that store your cell as it
  596.   was when you enter Cell Mode. These may be used to return a cell to the
  597.   same state that it was when you entered Cell Mode.
  598.  
  599.   Also, there are two files SORTBKUP.BP4 and SORTBKUP.CL4 that are updated
  600.   when you use the SORT command. You may use these files to restore if you
  601.   make a major mistake. These files are also updated by a timed automatic
  602.   sort that protects your drawing even if you leave it unattended for a
  603.   while and someone comes by and turns off the computer.
  604.  
  605.   Finally, there are two files DSBKUP.BP4 and DSBKUP.CL4 that are updated
  606.   whenever you use the DEL or the SMSH command. You may recover from an
  607.   accidental delete or smash using these files.
  608.  
  609.  Command Menus
  610.  
  611.   Most operations are done by selecting a command from a menu on the side
  612.   of the screen. Placing the mouse cursor on a button depresses the button.
  613.   Clicking the right mouse button activates the command.
  614.  
  615.   In Cell Mode there are two different menus. To flip between them, simply
  616.   click the right mouse button with the cursor in the drawing window, not
  617.   in the menu area.
  618.  
  619.   In Cell Mode the current resident command is shown at the bottom left of
  620.   the screen.
  621.  
  622.   The colors usually mean something. Generally the cyan commands affect
  623.   boxes, paths and text, the yellow affect cells, and the green both, with
  624.   many exceptions. Commands intended to stand out are generally red. Some
  625.   commands are colored just to look pretty or give good contrast.
  626.  
  627.  Command Types
  628.  
  629.   The commands that are found on the menus do many things. The commands all
  630.   have help topics in Command Information.
  631.  
  632.   The System Mode commands either operate immediately or request additional
  633.   information to be typed in. The commands may be aborted or continued to
  634.   completion.
  635.  
  636.   Cell Mode commands may be grouped into four types:
  637.  
  638.   1. RESIDENT commands are commands that stay in place until you change to
  639.      another resident command. There is always a default resident command
  640.      when working on a drawing.
  641.  
  642.     Examples of resident commands are:  ADD, GET, PUT, CGET and CPY.
  643.  
  644.   2. ONE-TIME commands are commands that abort any other commands that may
  645.      be in progress, but are not retained.
  646.  
  647.     Examples of ONE-TIME commands are:  SORT, FILL, LAYR, and OBJ.
  648.  
  649.   3. WINDOW commands are commands that change the window that is displayed.
  650.      These commands are nestable within a resident command. For example,
  651.      you can reposition the window an unlimited number of times while you
  652.      still have the second point of a MOV pending. The command listed at
  653.      the bottom of the display changes color to tell you that you are in a
  654.      nested command that is asking for an input.
  655.  
  656.     The window commands are:  ARROWS, CNTR, DGRD, DRAW, FIT, GRID, OCTO,
  657.     OPEN, RDRW, VIEW, WGRD, RSTR, SAVE, XPND and ZOOM.
  658.  
  659.   4. DOS commands are commands that run other programs with LASI as the
  660.      shell. These commands can cause "out of memory" or "not available"
  661.      errors if you don't have enough RAM available.
  662.  
  663.     The DOS commands are:  DOS, HCPY, PLOT, TLC-IN, TLC-OUT and help F1.
  664.  
  665.   In System Mode, information is requested at the left of the screen. In
  666.   Cell Mode information is usually requested on the last line. Any default
  667.   values will be retained by pressing ENTER or ESC.
  668.  
  669.   Usually, ENTER continues the command and ESC aborts the command.
  670.  
  671.   Important:  Any command that is expecting a cursor input point can be
  672.     cancelled by selecting the same command, a new command or by pressing
  673.     ESC. Window commands can be cancelled within a resident command without
  674.     cancelling the resident command.
  675.  
  676.  Common Problems
  677.  
  678.   When LASI is started it checks for the FORM.DBD file, the CONSTS4.DBD
  679.   file, the CELLS4.DBD file and the Text Font File (usually TXT.DBD). It
  680.   also checks the hardware for the mouse and the kind of video adapter you
  681.   have. If there is a problem LASI should tell you. This may not be perfect
  682.   and if you crash first suspect the CONSTS4.DBD file. It may be incorrect.
  683.   Simply erase it from your drawing directory. LASI will make a new one.
  684.   CONSTS4.DBD files made with older versions of LASI are not guaranteed to
  685.   work with newer versions of LASI.
  686.  
  687.   If you crash or you get a "Not Available" message, when running programs
  688.   such as TLCIN.EXE, TLCOUT.EXE  or LASI2PGL.EXE with the LASI drawing
  689.   program as the shell, you probably have run out of conventional memory.
  690.  
  691.   LASI checks memory, and refuses to execute if it thinks that there is too
  692.   little available, but it is not perfect because it really doesn't know
  693.   how much memory a program needs. DOS eventually determines this.
  694.  
  695.  
  696.   The LASI System is a very complex and evolving system. It is possible
  697.   that situations will occur with different hardware and software
  698.   environments that will cause difficulties. Once authentic problems are
  699.   reported they are usually fixed. Consult the author or your source of
  700.   this software for the latest version.
  701.  
  702.  Drawing Display
  703.  
  704.   When operating in Cell Mode the drawing area occupies most of the screen.
  705.   The command menu appears on the right of the screen, and status
  706.   information is displayed on the top and bottom of the screen.
  707.  
  708.  
  709.       ┌─ Cell(Rank)──── Information ────────────────────────┬─────────┐
  710.       ├─ View(layers)── Open(layers)─────────── Indicators ─┤         │
  711.       │                                                     │         │
  712.       │                                                     │         │
  713.       │                                                     │         │
  714.       │                                                     │         │
  715.       │                 Drawing Area                        │  Menu   │
  716.       │                                                     │  Area   │
  717.       │                                                     │         │
  718.       │                                                     │         │
  719.       │                                                     │         │
  720.       ├─ Command (point) ──── Cursor Position ──────────────┤         │
  721.       └─ wGrd ─── dGrd ─── Obj ─── Layr ─── Wdth ───────────┴─────────┘
  722.           (Input and Messages)
  723.  
  724.  
  725.   The upper top line shows the name of the cell and its rank on the left.
  726.   Near the center is an area where information is displayed that remains
  727.   until some status is changed.
  728.  
  729.   The lower top line shows the layers that are viewed and open for
  730.   modification, and at the extreme right, the status of the cell outline
  731.   name, the path center line, the text reference keyboard toggle and
  732.   distance marker switches. (Read Key Assignment and the OUTL, DRAW and
  733.   TEXT Commands.)
  734.  
  735.   The upper bottom line shows the name of the current command and the point
  736.   to be inputted. Commands usually display in cyan, but nested "window"
  737.   commands display in red.
  738.  
  739.   The upper bottom line also shows the current position of the mouse
  740.   cursor. The lowercase "w" or "u" prefixing X or Y indicates that the
  741.   cursor is in the "working" or the "unit" grid.
  742.  
  743.   The lower bottom line normally displays the working and dotted grids, the
  744.   name or type of object that will be added with the ADD command, the layer
  745.   if the object is a box or path, and the width of the path.
  746.  
  747.   The lower bottom line also serves as an input line for keyboard inputs
  748.   and direct X and Y coordinate inputs.
  749.  
  750.   The bottom line displays temporary messages and certain warning messages
  751.   that may be sent to indicate a problem, for example, "RAM Disk Full or
  752.   Unavailable ...", which can occur quite often.
  753.  
  754.  Drawing Speed
  755.  
  756.   On a fairly slow computer, drawing a large number of cells can take a
  757.   considerable amount of time. LASI has several features to allow you to
  758.   work on larger drawings more effectively. These are as follows:
  759.  
  760.   1. Pressing the ESC key or clicking the right mouse button causes a
  761.      drawing sequence to abort in two stages. The first stage forces cells
  762.      to be drawn as lightly dashed outlines. The second stops the present
  763.      cell's boxes and paths from being drawn. You don't have to draw
  764.      completely if you only want to locate a certain area. Just find where
  765.      the area is, abort further drawing and ZOOM in.
  766.  
  767.   2. Cells may be replaced by their outline, which draws almost instantly.
  768.      Read the OUTL and FULL Command topics.
  769.  
  770.   3. Objects that are too small to draw may be skipped by setting the
  771.      resolution properly. Read the SET Command topic.
  772.  
  773.   4. Objects that are out of a drawing window are remembered and are
  774.      skipped for certain commands.
  775.  
  776.   5. The cell files may be (and should be) automatically transferred to a
  777.      RAM disk. Read the RAM Disk topic.
  778.  
  779.   Note:  If you speed up drawing using first method, active box sides and
  780.     active vertices are still drawn or marked, and active cells are still
  781.     drawn as filled outlines. This is to indicate where an active object is
  782.     located.
  783.  
  784.  Error Messages
  785.  
  786.   Most messages are self-evident and appear in the dialog area in System
  787.   Mode, on the bottom line in Cell Mode, or on the top of the screen in
  788.   both modes when DOS calls are made. Some error messages are less obvious
  789.   and may be explained as follows:
  790.  
  791.     "Out of Object Memory!" means that you have completely run out of
  792.     memory avaiable to hold the objects of a cell. Use some method to get
  793.     more conventional memory on your PC, or better, use more cell nesting
  794.     to reduce the parts count in a cell.
  795.  
  796.     "Unable to Load File(s)!" means that you are not able to load a cell
  797.     file, usually because you have too little memory space available. This
  798.     also indicates that a cell file (BP4 or CL4) may be missing, or you are
  799.     trying to load a pooled cell.
  800.  
  801.     "Box/Path/Vertex/Cell Limit!" means that you are trying to add an
  802.     object that exceeds the maximum number for its type.
  803.  
  804.     "Not Available!" means that LASI will not act as a "shell" to execute
  805.     other programs ("child" processes).
  806.  
  807.     "Rank Error!" means that you are trying to add a cell that has rank
  808.     greater than or equal to the cell on which you ar working.
  809.  
  810.     "File Error!" means that a file error occurred at the DOS system level.
  811.     Usually you tried to erase a file that did not exist, or you tried to
  812.     rename a file that didn't exist or had a name conflict.
  813.  
  814.     "No Object!" means that you are trying to set an object to be added
  815.     that cannot be found in the cell list.
  816.  
  817.     "Not Enough Space to Smash CELLNAME!" means that there isn't enough
  818.     memory to hold the objects that would result if a cell is smashed.
  819.  
  820.     "RAM Disk Full or Unavailable ... Using Hard Disk!" means that you
  821.     either have set a RAM disk in the FORM.DBD file that doesn't exist, or
  822.     the RAM disk has run out of space for new files or new filenames. You
  823.     should erase old files from your RAM disk or, if possible, reconfigure
  824.     it in the DOS CONFIG.SYS file to provide more file space or a larger
  825.     directory.
  826.  
  827.  File Types
  828.  
  829.   The LASI drawing program uses several files when it is run. These are:
  830.  
  831.   DBD (drawing basic data) files
  832.  
  833.     CELLS4.DBD is the master list of cells used by LASI to know which cells
  834.     it has to use in a drawing. The position of a cell in the file is an
  835.     index used by LASI to keep track of which cells are used in other
  836.     cells.
  837.  
  838.     FORM.DBD contains the configuration information used by LASI when it
  839.     starts. Read the FORM File topic.
  840.  
  841.     CONSTS4.DBD is a file that is maintained by LASI itself, and contains
  842.     the information (or constants) that determine the immediate settings of
  843.     many parameters. Although it is ASCII this file should not be edited.
  844.  
  845.     TXT.DBD is a generic Text Font File. This file is a binary file that
  846.     contains patterns for the text characters. This file was generated by
  847.     the MAKETXT.EXE utility and can only be modified using that utility.
  848.     Otherwise, the user is free to make his own fonts following the
  849.     directions under the topic Text Generation.
  850.  
  851.  
  852.   Cell Data Files
  853.  
  854.     Cell data files are named with the name of a cell with a BP4 or a CL4
  855.     extension.
  856.  
  857.     BP4 files are internal binary files that contain information on boxes,
  858.     paths, text and vertices. These files are maintained by LASI and other
  859.     utilities and are not to be externally edited.
  860.  
  861.     CL4 files are internal files that contain information on which cells
  862.     are contained in other cells. Rank 1 cells do not produce these files.
  863.     These files are not to be externally edited.
  864.  
  865.  FORM File
  866.  
  867.   The configuration information for each drawing is in the FORM.DBD file.
  868.   This file MUST be in each drawing directory. You write it using a text
  869.   editor in standard DOS text format. The FORM.DBD file is an IMPORTANT
  870.   file because it is used by the LASI drawing program and most of the
  871.   UTILITY PROGRAMS to configure to the particular drawing environment.
  872.  
  873.   The FORM parameters are keywords followed by "=" and then the FORM
  874.   variable. These may be in any order, or be omitted. If a parameter is
  875.   omitted a default parameter is used if possible.
  876.  
  877.   The present FORM parameters are:
  878.  
  879.     hdisk=C:,D:,etc.            (\LASI4 directory hard disk letter name)
  880.     rdisk=D:,etc. or blank      (RAM disk letter name)
  881.     fdisk=A: or B:              (floppy disk letter name)
  882.     hcopy=XXXX                  (name of bitmap program to be used)
  883.     plot=XXXX                   (name of plotter support program)
  884.     text=XXXX                   (path\name of Text Font File)
  885.     vmode=vga,ega,svga,mono,lcd (forces the display mode)
  886.     pool=pool directory         (path\name of cell pool directory)
  887.     fkey=command line           (progressively assigns F-keys)
  888.  
  889.   ■ "hdisk=" sets the letter name of the hard disk where the \LASI4
  890.     directory is located and is used to find certain files.
  891.  
  892.   ■ "rdisk=" sets the letter name of a RAM disk that was created in memory.
  893.     Read the Using RAM Disk topic for more information.
  894.  
  895.   ■ "fdisk=" variable sets the letter name of the default floppy drive
  896.     where certain files are routinely imported and exported. Read the
  897.     TLC-IN and TLC-OUT topics.
  898.  
  899.   ■ "hcopy=" is the name of the screen hardcopy program. Read the HCPY
  900.     Command topic for information on these programs.
  901.  
  902.   Important:  If you don't have a printer on the computer leave the
  903.     hardcopy parameter "hcopy=" blank. This will prevent the system from
  904.     possibly hanging up if HCPY is pushed.
  905.  
  906.   ■ "plot=" is the name of the plotter program. At the present there is
  907.     only one plotter program LASI2PGL.EXE.
  908.  
  909.   ■ "text=" is the path\name of the Text Font File. If this parameter is
  910.     left blank or if it is left out of the FORM File altogether, the
  911.     default "\LASI4\TXT.DBD" will be assumed. Note that this variable may
  912.     contain a DOS path. This allows you to make your own Text Font Files
  913.     and put them in any directory.
  914.  
  915.   ■ "vmode=" overrides various switches and the automatic sensing of VGA or
  916.     EGA hardware. This can take multiple arguments separated by spaces or
  917.     commas. The arguments are:
  918.  
  919.     ∙ "vga" or "ega" force 640x480 or 640x350 16 color graphics mode.
  920.  
  921.     ∙ "svga" forces 800x600 16 color VESA standard graphics mode. You must
  922.       have the hardware or the driver software that conforms to the VESA
  923.       standard or you will probably crash.
  924.  
  925.     ∙ "mono" redefines the color palette to black, gray, white and bright
  926.       white for use with monochrome monitors and laptops.
  927.  
  928.     ∙ "lcd" increases the thickness of the cursor so that it is more
  929.       visible on a slowly changing LCD display.
  930.  
  931.     ∙ "box" changes the command botton style back to the old white box
  932.       around the command name.
  933.  
  934.       Example:  vmode=svga,mono
  935.  
  936.     Sets the display to 800x600 monochrome display mode.
  937.  
  938.  
  939.   ■ "pool=" sets the directory where pooled cells are stored. If the pool
  940.     directory is on a different disk than the drawing directory, precede
  941.     the directory name with the disk letter. Omit "\" from the end of the
  942.     pool directory name. If you don't have a pool directory leave this
  943.     parameter blank or erase it from FORM.DBD altogether.
  944.  
  945.   ■ "fkey=" parameters progressively assign a command line to a function
  946.     key, starting with F2 (F1 is always HELP.) through F10, SHIFT-F1
  947.     through SHIFT-F10, CTRL-F1 through CTRL-F10 and ALT-F1 through ALT-F10.
  948.     Read the F-keys topic for more details.
  949.  
  950.  
  951.   FORM is a command on the menus. It lists the FORM parameters of the
  952.   drawing directory where you are working.
  953.  
  954.  Hardcopy
  955.  
  956.   Hardcopies of the drawing display can be made by calling screen bitmap
  957.   printing programs. These are small programs that are included with the
  958.   LASI System. These hardcopy programs can send the bitmap data directly to
  959.   a printing device or can produce a file for later printing.
  960.  
  961.   Any hardcopy program is installed by including its name in the "hcopy="
  962.   parameter in the FORM.DBD file. Hardcopy programs are always kept in the
  963.   \LASI4 directory. When LASI calls a hardcopy program, it attaches that
  964.   path to the filename.
  965.  
  966.   Presently there are 2 hardcopy programs in the \LASI4 directory:
  967.  
  968.   1. DMHCPY.COM makes a black and white copy of the screen in standard
  969.      Epson FX or LQ dot matrix format.
  970.  
  971.     There are 4 arguments (upper or lowercase) that may be appended to the
  972.     "hcopy=dmhcpy" parameter in the FORM.DBD file:
  973.  
  974.       "F" which causes a bitmap data file to be produced
  975.  
  976.       "Q" which causes LQ format to be produced
  977.  
  978.       "H" which causes a heavier copy to be made by duplicating any dots
  979.         printed
  980.  
  981.       "G" which turns on "generic" printer codes that will work with almost
  982.         any IBM/Epson printer. Aspect ratios will be not be 1:1.
  983.  
  984.     These arguments may be in any order.
  985.  
  986.     For example, "hcopy=dmhcpy h q f" produces a file with heavy printing
  987.     for an LQ type printer.
  988.  
  989.     If you are making a data file, a small window will open and close in
  990.     the lower left of the screen requesting a file name.
  991.  
  992.     If you produce files in the Epson FX printer format. You can build
  993.     single or multiple sheet fax files for transmission using an Intel
  994.     SatisFAXion board. You can also translate the files into other formats
  995.     using a converter such as HIJAAK.
  996.  
  997.     If you are operating in VGA graphics mode, the hardcopy that you get
  998.     will have a correct 1:1 aspect ratio, that is, if you don't use the "G"
  999.     argument.
  1000.  
  1001.   2. LJHCPY.COM makes a black and white copy on a LaserJet or a DeskJet
  1002.      type printer. The bitmap is produced at 75 dots/in. LJHCPY.COM
  1003.      produces a data file if a command line argument "F" (or "f") is
  1004.      appended to the "hcopy=ljhcpy" parameter in the FORM.DBD file. This
  1005.      data file may converted to other formats, or copied to a LaserJet for
  1006.      printing later.
  1007.  
  1008.   Read the HCPY Command topic.
  1009.  
  1010.  Hardware
  1011.  
  1012.   The LASI will run in some configuration on almost any IBM compatible
  1013.   computer with common basic hardware options. In fact, it is the
  1014.   philosophy of LASI not to require the latest, fastest or any special
  1015.   hardware. LASI will run on an old AT type computer (or even painfully
  1016.   slow on an XT type), but a faster computer is always an advantage. LASI
  1017.   will run quite nicely on a 386 or 486 "average" PC with clock speed of 25
  1018.   MHz or more.
  1019.  
  1020.   This is the minimum hardware required:
  1021.  
  1022.     1. 640K of conventional memory
  1023.     2. A hard disk
  1024.     3. VGA or EGA adaptor and color monitor (see below)
  1025.     4. A mouse
  1026.     5. A math coprocessor (see below)
  1027.  
  1028.  
  1029.   640K of Conventional Memory
  1030.  
  1031.     The LASI drawing program takes a minimum of about 240K. Drawing data is
  1032.     kept in conventional memory also, so if you don't have full memory, the
  1033.     size of your drawing will be excessively memory limited. You will also
  1034.     not be able to run certain programs from LASI.
  1035.  
  1036.     Using extended memory and MS-DOS 5 or 6 from Microsoft or DR-DOS 6.0
  1037.     from Digital Research will improve this situation because these
  1038.     operating systems move drivers to high memory.
  1039.  
  1040.     Read the Allocating Memory topic for more information on use of memory.
  1041.  
  1042.  
  1043.   Hard Disk
  1044.  
  1045.     While working on a drawing, the basic drawing files (or cell files)
  1046.     need to be swapped back and forth to the disk. The hard disk should be
  1047.     as fast as possible. Each cell may use one or two files for storage.
  1048.     One cell file can be as large as 384K, the other 64K. Files this large
  1049.     will be rare, if not impossible due to RAM limitations. However, for
  1050.     large drawings with many cells, a total of several megabytes of disk
  1051.     space may still be needed.
  1052.  
  1053.  
  1054.   EGA or VGA Adaptor with Color (or Monochrome) Monitor
  1055.  
  1056.     LASI uses some direct hardware access so the EGA or VGA board must be
  1057.     register compatible to the IBM standard. If you have VGA graphics, the
  1058.     VGA will default to VGA 640x480 16 color graphics mode. If you have EGA
  1059.     you will default to 640x350 graphics mode. You may override the
  1060.     automatic default by setting a "vmode=" parameter in the FORM File.
  1061.  
  1062.     If you have a VGA board and a monitor capable of 800x600 16 color
  1063.     graphics, you can run LASI in that mode by setting "vmode=svga" in the
  1064.     FORM File. You must have a board that is VESA (Video Electronics
  1065.     Standards Association) compatible with supplemental driver software
  1066.     (furnished by the board's maker), or the board must have a BIOS that is
  1067.     directly compatible with the VESA standard. Most new boards will meet
  1068.     one of these requirements.
  1069.  
  1070.     If you have a monochrome monitor with a gray scale VGA display, you can
  1071.     redefine the color palette to black, gray, white and bright white by
  1072.     adding "mono" to the "vmode=" parameter in the FORM File. You may have
  1073.     to trick your VGA board into thinking that it has a color monitor by
  1074.     grounding the ID bit 0 (pin 11 on the 15 pin D connector).
  1075.  
  1076.     Laptop computers with a VGA display will also run LASI. A possible
  1077.     problem when using a laptop is that the LCD display isn't fast enough
  1078.     to track the mouse cursor. To improve this, the cross shaped mouse
  1079.     cursor may be expanded to more pixels to improve the cursor's
  1080.     visibility if "lcd" is added to the "vmode="parameter.
  1081.  
  1082.     Because LASI writes directly to the hardware, you will get faster
  1083.     graphics if you use a 16-bit graphics board, instead of an 8-bit board.
  1084.     In ISA (AT) type computers of any CPU speed, the bus speed is usually
  1085.     still 8 MHz. This limits the drawing speed of LASI and most of any
  1086.     other graphical software, including Windows or OS/2.
  1087.  
  1088.     Some video boards come with a version of their BIOS (the programming
  1089.     that lets DOS connect to the actual hardware) that can be loaded into
  1090.     RAM and not read from a ROM. This should be used if memory space
  1091.     permits, particularly if LASI writes text slowly or if the mouse seems
  1092.     to act lethargic.
  1093.  
  1094.     There are also some new bus architectures that raise the bus speed when
  1095.     servicing video, or have an independent high-speed bus, such as the
  1096.     VESA Local Bus (VL-Bus) or the PCI bus. If your graphics board can work
  1097.     at a higher speed or is VESA Local Bus compatable, your LASI drawing
  1098.     speed will greatly improve.
  1099.  
  1100.     If you are buying a computer to run LASI (or anything else), it is
  1101.     recommended you get one with a VESA Local Bus or the PCI bus. Some
  1102.     manufacturers have their own proprietary bus; it is likely that these
  1103.     will die out. Note also that "accelerated" video boards are available,
  1104.     but are often designed to speed up Windows or specific CAD systems,
  1105.     like AutoCAD, using special driver software. These may not help LASI
  1106.     very much.
  1107.  
  1108.  
  1109.   Mouse
  1110.  
  1111.     Pretty much everything is done graphically by mouse. All mouse function
  1112.     calls conform to Microsoft Mouse Protocol. LASI does little more than
  1113.     look for button pushes and return screen location. The cursors are
  1114.     drawn directly, so LASI is very mouse tolerant. Any mouse that has at
  1115.     least two buttons, has driver software that works with EGA or VGA, and
  1116.     understands some basic Microsoft mouse driver function calls (numbers
  1117.     0-5, 10 and 11) should work with any of the LASI System programs.
  1118.  
  1119.     To use the mouse, first be sure that the mouse driver software that
  1120.     came with your mouse is installed according to your mouse's
  1121.     instructions, and that you know that the mouse works with most other
  1122.     programs. Using current Microsoft mouse driver software and a Microsoft
  1123.     compatible mouse is usually best.
  1124.  
  1125.     LASI reads "mickeys" directly (actual movement count) and moves the
  1126.     cursor accordingly. Certain mouse driver sensitivity switches (/H /V)
  1127.     won't work when this is done, but sensitivity can be set with the SET
  1128.     command. Read the SET command topic.
  1129.  
  1130.  
  1131.   Math Coprocessor (80287, 80387, etc)
  1132.  
  1133.     Most of the math is done in integer form, which is handled by the CPU
  1134.     directly. A certain amount of floating point arithmetic is also done.
  1135.     If you run LASI.EXE, it will examine your hardware and overlay either
  1136.     LASI87.EXE or LASIA.EXE. If you try to run LASI87.EXE without a
  1137.     coprocessor, the program will return a system error. If you don't have
  1138.     a coprocessor and can't afford one, LASIA.EXE will always run, but it
  1139.     draws about half as fast in certain situations as LASI87.EXE and uses a
  1140.     little more memory.
  1141.  
  1142.  
  1143.   Optional but desirable:
  1144.  
  1145.     1. Extended memory
  1146.     2. A printer (dot matrix or laser)
  1147.  
  1148.  
  1149.   Extended Memory
  1150.  
  1151.     In addition to using less conventional memory if a newer DOS is used,
  1152.     drawing speed may be improved by using extended memory for a RAM disk.
  1153.     The amount of additional memory is dependent on the amount of data in
  1154.     the layout drawings that you make. Experience will determine how much
  1155.     memory you need. Read the Using RAM Disk topic.
  1156.  
  1157.  
  1158.   Printer
  1159.  
  1160.     Hard copies of the screen can be made directly from LASI. Making
  1161.     hardcopies is very handy to examine and keep track of your drawings.
  1162.     Hardcopy support is provided for Epson Generic, FX and LQ type printers
  1163.     and H-P LaserJet type printers. Most printers seem to conform to these
  1164.     standards. Read the HCPY Command topic. If your printer doesn't work
  1165.     contact the author to see if anything can be done about it, providing
  1166.     you have technical information available on your printer and you know
  1167.     that it is capable of bitmap graphics.
  1168.  
  1169.  Help on Help
  1170.  
  1171.   If you are reading this help topic you are probably running the LASI Help
  1172.   and Information program LHI.EXE. LHI is called from LASI by pressing F1.
  1173.   If the mouse cursor is on a COMMAND NAME the name will be passed to LHI
  1174.   and that command's help information will come up immediately.
  1175.  
  1176.   LHI.EXE will also accept optional DOS command line arguments as follows:
  1177.  
  1178.         lhi [disk\path\filename] [topic1 or topic2] [topic2]
  1179.  
  1180.   [Disk\path\filename] is the full name of the help file to read. The
  1181.   filename must contain the extension ".HLP" or the argument will be
  1182.   considered as a topic argument. Leaving this argument out causes a
  1183.   default to "\LASI4\LHI.HLP".
  1184.  
  1185.   The [topic1 or topic2] argument is the topic for the first search. This
  1186.   may be a primary topic such as "Command Information" or a secondary topic
  1187.   such as "Copy". If the topic is more than one word enclose it in double
  1188.   quotes ("") as DOS requires.
  1189.  
  1190.   The [topic2] argument is the subtopic of topic1. This is only necessary
  1191.   if topic2 appears as a subtopic of topic1 in more than one place in the
  1192.   help file. For example, if "Introduction" appears more than once, you
  1193.   must specify the primary topic as topic1 and then "Introduction" as
  1194.   topic2.
  1195.  
  1196.   All arguments may be upper or lower case.
  1197.  
  1198.  Key Assignment
  1199.  
  1200.   Some keys on the keyboard are permanently assigned:
  1201.  
  1202.     CTRL-END exits to DOS from Cell or System Mode.
  1203.     ENTER enters information and does a DRAW command.
  1204.     DIRECTION ARROWS move the drawing window in that direction.
  1205.     TAB toggles the cursor between a small cross and crosshairs.
  1206.     A toggles the cursor between working and unit grid.
  1207.     C toggles the path center line on and off. (retained)
  1208.     N toggles the outline name on and off.
  1209.     T toggles the text reference point on and off. (retained)
  1210.     D toggles the distance marker on and off.
  1211.     X or Y opens a PKE entry.
  1212.     Z sets the measurement reference point.
  1213.     SPACE gives a measurement from the ref point.
  1214.     ALT while pressed changes the cursor between working and unit grid.
  1215.  
  1216.   ESC has multiple uses:
  1217.  
  1218.   1. Press ESC to abort most commands at any stage of completion.
  1219.  
  1220.   2. Press ESC to abort drawing at various stages. Read the Drawing Speed
  1221.      topic for details.
  1222.  
  1223.   3. Pressing ESC causes a default value to be retained in any input that
  1224.      has a default value shown in the white box, even if a new value has
  1225.      been typed.
  1226.  
  1227.   4. ESC returns a NULL (no characters) to such questions as the name of a
  1228.      cell and therefore aborts the process.
  1229.  
  1230.  
  1231.   F1 always calls HELP.
  1232.  
  1233.   The remaining function keys are USER DEFINABLE.
  1234.  
  1235.   F2-F10, SHIFT-F1 through SHIFT-F10, CTRL-F1 through CTRL-F10 and ALT-F1
  1236.   through ALT-F10 may be defined by writing a command with any arguments
  1237.   into the FORM.DBD file.
  1238.  
  1239.   To assign the keys you simply write the command after an "fkey="
  1240.   parameter in the FORM.DBD file. Keys are assigned progressively and the
  1241.   exact assignment can be checked by the FORM command.
  1242.  
  1243.   A command must be a command from the Cell Mode menus and must be followed
  1244.   by any arguments separated by commas.
  1245.  
  1246.   Examples:   "fkey=view,1-4 10 12"
  1247.               makes those layers visible.
  1248.  
  1249.               "fkey=wmov,0,0,100,100,0,0,10,0"
  1250.               moves objects in the 0,0 to 100,100 rectangle
  1251.               10 physical units to the right.
  1252.  
  1253.   The command line may be upper or lower case and no longer than 80
  1254.   characters. Any coordinates are in physical units. Any text generated in
  1255.   this way will be created with case preserved.
  1256.  
  1257.   Commands assigned to function keys are executed on a ONE-TIME basis even
  1258.   though normally the command may be a resident type of command.
  1259.  
  1260.   Function keys work differently in System Mode, so no System Mode command
  1261.   may be assigned to a function key. Certain commands in Cell Mode work
  1262.   differently also and may no be assigned to function keys. These are LIST,
  1263.   CELL, SYS and UNDO.
  1264.  
  1265.   LASI should be smart enough to request additional arguments in the normal
  1266.   way if you list too few in the key assignment, or throw away any extras
  1267.   if you have too many. Coordinates are always requested in pairs.
  1268.  
  1269.  Keyboard Input
  1270.  
  1271.   When LASI needs typed input from the keyboard, whether it be alpha or
  1272.   numeric, a simple line editor is used to enter the information. This line
  1273.   editor works as follows:
  1274.  
  1275.   ■ A prompt will be displayed on the screen followed by a white input box
  1276.     that may contain the default value of the input.
  1277.  
  1278.   ■ An empty box contains only the underscore cursor at the left.
  1279.  
  1280.   ■ To erase and retype a line when an input is first requested, press any
  1281.     key except SPACE or BACKSPACE as the first character.
  1282.  
  1283.   ■ To add or subtract characters at the end of a line when an input is
  1284.     first requested, press SPACE or BACKSPACE.
  1285.  
  1286.   ■ To delete the entire line at any time press DELETE.
  1287.  
  1288.   ■ To enter a value press ENTER.
  1289.  
  1290.   ■ To keep the initial default at any time, press ESC or press ENTER with
  1291.     the input box empty.
  1292.  
  1293.  
  1294.   The newer utility programs (LASI2CSF.EXE, LASICKT.EXE, etc.) that have
  1295.   setup pages also use this line editor.
  1296.  
  1297.  Local Area Network
  1298.  
  1299.   It should be possible to use the cell pooling feature of LASI 4.3 to
  1300.   provide a common pool of basic cells over a Local Area Network (LAN)
  1301.   consisting of several PCs or work stations.
  1302.  
  1303.   Put the network server disk directory prefix in the "pool=" parameter in
  1304.   the FORM.DBD file. LASI will then load an attached cell's BP4 file from
  1305.   the server. If you are using a RAM disk locally, the file will then be
  1306.   stored on the RAM disk the first time you draw it, and will remain there
  1307.   until you quit LASI.
  1308.  
  1309.   You can also make a permanent copy of a pooled cell from the network
  1310.   using the IMPORT command.
  1311.  
  1312.   For transferring cells with rank greater than 1, you must use TLCIN.EXE.
  1313.   In that case, the "fdisk=" parameter in FORM.DBD can be set to the server
  1314.   directory prefix with TLC files in that directory on the server. Any
  1315.   files transferred by TLC will become normal cells not attached cells.
  1316.   Care also must be taken not to write back to the server, since TLC works
  1317.   both ways.
  1318.  
  1319.  Managing Objects
  1320.  
  1321.   So that it can be accessed rapidly, the data for LASI drawing objects is
  1322.   kept in what is known as conventional memory, the memory up to 640K
  1323.   bytes. The LASI main program is loaded at some low address determined by
  1324.   the DOS system. The main program will use about 200K, and the remaining
  1325.   memory space can be used for object data.
  1326.  
  1327.   Conventional Memory Map:
  1328.                                     Object Data Area     small prgms.
  1329.           DOS+TSRs       LASI     (free in System Mode)  or more data
  1330.         ├───────────┼────────────┼────────────────────────┼──────┤
  1331.       0K <Minimum>    <≈200K >           <≈320K>          <64K> 640K
  1332.  
  1333.  
  1334.   LASI has to perform the following tasks to control object data:
  1335.  
  1336.   1. When LASI loads a cell, it has to clear the memory in the Object Data
  1337.      Area of any previous cell object data and load the object data for the
  1338.      new cell if it will fit, and fail gracefully if it will not.
  1339.  
  1340.   2. Since commands work globally, LASI has to keep the data for all the
  1341.      different types of objects immediately available in memory.
  1342.  
  1343.   3. If objects are added, LASI has to allocate more memory if necessary,
  1344.      and fail gracefully if none is available.
  1345.  
  1346.   4. While drawing cells that contain other nested cells, LASI must also
  1347.      swap in and out object data at different levels of nesting, and still
  1348.      retain necessary basic data.
  1349.  
  1350.   Doing all this is obviously not a trivial job, at least to do it
  1351.   efficiently. LASI 4.3 has a set of interacting functions that do all this
  1352.   and form what is usually called a "object manager". The manager works
  1353.   transparently, and may only be noticed on some slower computers when its
  1354.   additional layer of programming abstraction makes things run a little
  1355.   more slowly.
  1356.  
  1357.   Specifically, the object manager controls the memory used for box, path,
  1358.   vertex and cell object data records.
  1359.  
  1360.   LASI stores paths or polggons and their vertices as separate records, and
  1361.   therefore allocates space in memory for them separately. This is because
  1362.   there is no good relation between the number of paths you use and the
  1363.   number of vertices that you put into the paths. To be efficient, path
  1364.   data is packed together and vertex data is packed together. Read the
  1365.   Objects topic, and if curious, read the LASIDSS.HLP file for the data
  1366.   record format.
  1367.  
  1368.   Memory is allocated in 8K blocks, without regard to the type of object.
  1369.   You can therefore have one cell that has many paths with many vertices,
  1370.   and another cell that has many boxes, all in the same drawing, and LASI
  1371.   will accommodate. Memory will be adjusted to the objects that you use.
  1372.  
  1373.   There are limits on the number of a type of object that may be used in a
  1374.   single cell. These limits are as follows:
  1375.  
  1376.           Boxes     = 13104 max.
  1377.           Paths     = 10920 max.
  1378.           Vertices  = 32736 max.
  1379.           Cells     = 10920 max. (no dependence on level or rank)
  1380.  
  1381.   If you use any object up to its limit, you probably are not using cell
  1382.   nesting very efficiently. You will discover that using many objects in a
  1383.   single cell slows down some operations considerably.
  1384.  
  1385.   When drawing, you may add objects to a cell until the maximum limit for
  1386.   each type of object is reached, or you may simply run out of object
  1387.   memory altogether. In either case, a message will tell you what has
  1388.   happened, and the event should be harmless.
  1389.  
  1390.   You will also discover that there isn't enough conventional memory to
  1391.   reach maximum limits simultaneously. This should not be a problem because
  1392.   you should have broken up a cell into lesser cells long before you reach
  1393.   that situation.
  1394.  
  1395.   When you start LASI in System Mode, the maximim amount of available
  1396.   memory will be displayed in the Environment area. When in Cell Mode, the
  1397.   INFO command shows how much memory is still free. Unless you make cells
  1398.   with thousands of objects, you will probably not use much memory, and you
  1399.   won't have to worry about it.
  1400.  
  1401.   The actual memory available is dependent on the hardware and software
  1402.   configuration of your computer. It is possible that cells that "fit" on
  1403.   one computer will not "fit" on another. It is therefore important that
  1404.   you make as much memory initially available as possible. When to start a
  1405.   program that manages objects, either LASI or one of the utility programs,
  1406.   the available memory is shown. Use this number for comparison.
  1407.  
  1408.   DOS needs at least 64K available to load almost anything at first. (It
  1409.   can then give memory back.) If you fill your memory, you won't be able to
  1410.   call some other small programs from LASI, such as the screen hardcopiers,
  1411.   or even HELP. To make the most memory space available, you should
  1412.   minimize the "resident" programs (TSRs) and drivers that you install when
  1413.   booting up your computer, or you should move them to "high memory", 640K
  1414.   to 1024K.
  1415.  
  1416.   The newer DOS's you can load much of your resident software into high
  1417.   memory. Read the MS-DOS 5 or 6 topic.
  1418.  
  1419.   You can also gain quite a bit of memory by using one of the better memory
  1420.   managers such as QEMM-386 or 386MAX, which move TSRs and drivers into
  1421.   high memory more effectively than DOS 5. MS-DOS 6 has MEMMAKER which does
  1422.   the same as QEMM-386 and 386MAX and will probably do quite nicely.
  1423.  
  1424.  Making Measurements
  1425.  
  1426.   The position of the cursor in the drawing window is continuously read out
  1427.   at the bottom of the screen. The coordinates are either in working grid
  1428.   units or in the smallest possible grid unit, the unit grid. You may
  1429.   switch between these by pressing the A or ALT keys.
  1430.  
  1431.   There is no ruler, but distances can be measured graphically. The Z key
  1432.   zeroes the measurement reference to the current cursor grid point. The
  1433.   current cursor grid point may be either in the working grid or the unit
  1434.   grid, depending on the resident command or if the cursor grid has been
  1435.   switched by the A or ALT keys.
  1436.  
  1437.   If the SPACE bar is then pressed, a measurement from the zero point will
  1438.   be displayed at the bottom of the screen. The second point will be
  1439.   gridded to the present cursor grid.
  1440.  
  1441.   If the D key is pressed, the distance marker will be toggled on and off.
  1442.   A "D" will be displayed in the upper right of the screen to indicate that
  1443.   the marker is ON.
  1444.  
  1445.   Note:  You can hold down the SPACE bar and move the mouse. This will give
  1446.     a continuous readout of the distance from the reference.
  1447.  
  1448.  Mouse Cursor
  1449.  
  1450.   LASI is designed to be very mouse intensive. Positioning the cursor and
  1451.   clicking the mouse buttons chooses the commands and inputs most all the
  1452.   graphical information. The exceptions being when a literal or numerical
  1453.   input is required, or when a specially assigned key is used.
  1454.  
  1455.   The mouse cursor is usually a small cross that may have other figures
  1456.   added to it as follows:
  1457.  
  1458.   ■ When a commands expects a distance displacement, a dotted line or
  1459.     vector will appear.
  1460.  
  1461.   ■ When a command expects to select or "get" something, a dotted
  1462.     rectangular area will appear. A point is defined to INTERSECT the area
  1463.     if it is ON or WITHIN the boundaries.
  1464.  
  1465.   ■ When a BOX is to be added, the dotted rectangle previews the box.
  1466.  
  1467.   ■ When a path is to be added, one or two dotted lines preview or "rubber
  1468.     band" the new path.
  1469.  
  1470.   The cursor can be toggled between the small cross and crosshair lines by
  1471.   pressing the TAB key. The cursor automatically turns back to the small
  1472.   cross if not on the drawing window.
  1473.  
  1474.   When a cursor input is expected, the point needed will be shown at the
  1475.   bottom of the screen after the command name. Most commands take one or
  1476.   two points.
  1477.  
  1478.   The cursor moves in discrete steps. When a command is chosen, the cursor
  1479.   is set to move either in the unit grid or in one of a number of preset
  1480.   working grids. The working grids are entered using the SET command, and
  1481.   are changed with the WGRD command. The cursor's grid type may change from
  1482.   command to command or during a command, but it may always be toggled from
  1483.   one type of grid to the other by pressing either the A or the ALT key on
  1484.   the keyboard.
  1485.  
  1486.   Certain cell commands use a DOUBLE CLICKING of the left mouse button to
  1487.   change the way that the command acts on cells. If you click twice
  1488.   rapidly, the cells that overlap the mouse cursor points will be affected.
  1489.   If you wait a bit between clicks, only the cells that have their areas
  1490.   fully enclosed by the mouse cursor window will be affected.
  1491.  
  1492.   The time between mouse clicks is set as the number of "ticks" using the
  1493.   SET command in Cell Mode. Each tick is about 1/20 sec. Adjust this to
  1494.   your own comfort. The number of ticks is saved and returned when you
  1495.   restart LASI.
  1496.  
  1497.   Hint:  If you want to turn off double clicking entirely, set the number
  1498.      of ticks to 0. If you always want double clicking actions, set the
  1499.      number of ticks to a large number, such as 32000.
  1500.  
  1501.   In Cell Mode, as you move the cursor, position reports are made at the
  1502.   bottom of the display. If these are printed too often on a computer with
  1503.   slow video, the cursor will be "bouncy" and hard to control. You can use
  1504.   the SET command to set the number of ticks between position reports. The
  1505.   number is an integer and will usually be set 0 to 10. Start with 0 and
  1506.   increase this number for a better cursor feel.
  1507.  
  1508.  Objects
  1509.  
  1510.   A drawing is built of things called OBJECTS. In a drawing objects are
  1511.   placed in a hierarchy, the position of an object in this hierarchy is
  1512.   called its RANK.
  1513.  
  1514.   The lowest rank (0) objects are the basic constructions, BOXES, PATHS,
  1515.   POLYGONS and TEXT.
  1516.  
  1517.   The higher rank (1-15) objects are the CELLS, which are the basic
  1518.   structures of a drawing. Any cell can contain one or more objects of
  1519.   lesser rank.
  1520.  
  1521.   All the cells in a drawing are called the CELL COLLECTION.
  1522.  
  1523.  
  1524.   Boxes
  1525.  
  1526.     Boxes are objects that have the properties of four sides, each
  1527.     orthogonal to the adjacent, and a layer. Only the position of the sides
  1528.     and the layer may be changed.
  1529.  
  1530.  
  1531.   Paths
  1532.  
  1533.     Paths are a set of vertices in some order which display as a set of
  1534.     endwise merged rectangles, all with the same width, but usually
  1535.     different lengths.
  1536.  
  1537.     A path with a zero width is called a polygon (poly for short).
  1538.  
  1539.     A polygon is special case of a path, and the term "path" can be used to
  1540.     refer to either, except in the case where a zero width path is
  1541.     explicitly indicated.
  1542.  
  1543.     A polygon need not be closed. A line of zero width however usually does
  1544.     not reproduce anything useful in an integrated circuit, so polygons
  1545.     will usually be closed intentionally.
  1546.  
  1547.     Vertices may have their position changed, and the vertices of a path
  1548.     may be added or deleted. The width or layer of the path may be changed.
  1549.  
  1550.     Paths with a positive width are drawn with their ends flush with their
  1551.     end vertices, while paths with negative widths are drawn with their
  1552.     ends spaced out half the width from the vertices. Paths with negative
  1553.     width are discouraged and are provided only for Calma compatibility.
  1554.  
  1555.     A path with width can have no more than 250 vertices. A polygon can
  1556.     have no more than 500 vertices.
  1557.  
  1558.  
  1559.   Text
  1560.  
  1561.     Text is a form of path that instead of displaying vertices, displays a
  1562.     string of text characters linearly. Text is stored as a special path,
  1563.     and many of the commands that affect paths work on text objects. Text
  1564.     can have a layer and a size which corresponds to a path's width.
  1565.  
  1566.  
  1567.   There are 64 layers available for boxes, paths and text, numbered 1-64.
  1568.  
  1569.  
  1570.   Cells
  1571.  
  1572.     All drawing is done on cells. A cell has a NAME by which it is called
  1573.     for drawing or for insertion into other cells. The name must be
  1574.     acceptable as a DOS filename, since cell files will be made using that
  1575.     name. A cell is named when it is created, but it may be renamed. A rank
  1576.     is also assigned when a cell is created and cannot be changed, although
  1577.     a cell can be copied to a different rank. The term "cellname" may be
  1578.     used to refer to the name of cells in general.
  1579.  
  1580.     Cell ranking is strictly enforced so that computer memory usage is
  1581.     better controlled and ambiguous constructions (i.e. cells in
  1582.     themselves) are avoided.
  1583.  
  1584.     In general, the overall layout drawing will be the highest ranking
  1585.     cell. There however may be many cells of that rank, for perhaps
  1586.     different versions of the same integrated circuit.
  1587.  
  1588.     Cells have a property known as AREA. The area of a cell is the region
  1589.     within the rectangle that fully encloses all the objects that make up
  1590.     the cell. A cell's OUTLINE is the perimeter of the area, or simply the
  1591.     enclosing rectangle. Cells may be drawn in full, or may be drawn as
  1592.     only their outline. Cells in a part of a drawing that is not currently
  1593.     being worked on may be outlined to improve clarity and to speed up
  1594.     redrawing.
  1595.  
  1596.     When a cell is drawn as its outline it may be manipulated as though it
  1597.     was drawn fully. However, when cells are outlined, double clicking the
  1598.     mouse has no effect on the action of a command. An outlined cell must
  1599.     always be fully enclosed by the mouse cursor window to have any action.
  1600.     Read the Mouse Cursor General topic and the individual command topics.
  1601.  
  1602.  Operating Modes
  1603.  
  1604.   LASI runs from DOS in two operating modes, System Mode and Cell Mode:
  1605.  
  1606.  
  1607.                                            LIST   ┌<----------┐
  1608.            ┌─────────┐ "lasi"  ┌─────────┐ CELL ┌─────────┐   |
  1609.            │         │-------->│ System  │----->│  Cell   │   |
  1610.            │   DOS   │         │         │      │         │-->┘
  1611.            │         │<--------│  Mode   │<-----│  Mode   │
  1612.            └─────────┘  QUIT   └─────────┘  SYS └─────────┘
  1613.                 |                                    |
  1614.                 └---------------------------------->-┘
  1615.                           "lasi cellname"
  1616.  
  1617.  
  1618.   System Mode is a housekeeping mode which has commands for overall
  1619.   manipulation of cells and the control of certain drawing parameters.
  1620.  
  1621.   Cell Mode is the mode where actual drawing is done. When Cell Mode is
  1622.   entered a cell drawing is opened for creation or modification. Cell Mode
  1623.   has the following properties:
  1624.  
  1625.   ■ Cell Mode has up to 15 ranks.
  1626.  
  1627.   ■ The rank of Cell Mode is obtained from the cell being drawn.
  1628.  
  1629.   ■ Each Cell Mode rank keeps separate parameters, such as window size and
  1630.     position, in order to simplify moving between different ranks of cells
  1631.     while working on a drawing.
  1632.  
  1633.   ■ All Cell Modes are identical except for the ranking.
  1634.  
  1635.   ■ Both modes have a menu of commands on the side of the screen. The
  1636.     commands are explained under their own help topics.
  1637.  
  1638.   ■ When LASI is started it goes to System Mode.
  1639.  
  1640.   ■ Using the SYS command that appears in the Cell Mode menu is the normal
  1641.     way to reenter System Mode from Cell Mode.
  1642.  
  1643.   ■ Using the CELL and LIST commands which appear in both mode menus is
  1644.     normal way to enter Cell Mode and open another cell.
  1645.  
  1646.   Cell Mode may be entered directly from DOS (as shown above) by adding the
  1647.   name of a cell to the command line when starting LASI.
  1648.  
  1649.     Example: "lasi flipflop" when typed in DOS runs LASI and
  1650.               enters into the cell named "FLIPFLOP".
  1651.  
  1652.   Read the CELL, LIST and SYS commands.
  1653.  
  1654.  PKE Coordinate Input
  1655.  
  1656.   Parallel Keyboard Entry can be done any time a command is requesting a
  1657.   point normally inputted by the mouse. To start a PKE entry press either
  1658.   the X or Y keys. The coordinate pair will appear in the lower left corner
  1659.   of the screen.
  1660.  
  1661.   Pressing the X or Y key clears that coordinate to zero and a new value
  1662.   may then be typed into that coordinate. Coordinate values may contain a
  1663.   decimal point, a minus sign or "E" if the number is in exponential form.
  1664.   Corrections may be made by pressing X or Y again, clearing the value to
  1665.   zero, or by using the BACKSPACE key.
  1666.  
  1667.   To enter the coordinate pair press ENTER.
  1668.  
  1669.   To abort a pending PKE entry, click on any menu button using the mouse,
  1670.   except any of the window commands, or press ESC.
  1671.  
  1672.   Note:  Some commands that require an incremental input and not an
  1673.     absolute position (MOV for example) accept only a single PKE distance
  1674.     entry instead of two mouse cursor inputs.
  1675.  
  1676.  Pooling
  1677.  
  1678.   In version 4.3 of LASI, rank 1 cells may be kept in a common "pool". This
  1679.   pool is a drawing directory that contains cells that might be used in
  1680.   many different layouts, such as logic elements or standard transistors.
  1681.   The basic cell BP4 file is taken either from the default drawing
  1682.   directory or the pool drawing directory.
  1683.  
  1684.   Cell Source Diagram:
  1685.  
  1686.                    ┌───────────┐ Attached Cell
  1687.               BP4  │   POOL    │----->-┐
  1688.               File └───────────┘       | Attach
  1689.                          |             | Command
  1690.                          |             |    ┌───────────┐
  1691.                          | IMPORT      ├--->│  Drawing  │
  1692.                          | Command     |    └───────────┘
  1693.                          V             |
  1694.                    ┌───────────┐       |
  1695.               BP4  │ Draw Dir. │----->-┘
  1696.               File └───────────┘ Normal Cell
  1697.  
  1698.  
  1699.   The pool directory is set with the "pool=" parameter in the FORM.DBD
  1700.   file. The pool variable is the name of the directory where pooled cells
  1701.   are stored.
  1702.  
  1703.     Example:  "pool=c:\ourpool" would be a line in FORM.DBD
  1704.  
  1705.   If the pool directory is on a different disk than the drawing directory,
  1706.   precede the directory name with the disk letter. Omit "\" from the end of
  1707.   the pool directory name.
  1708.  
  1709.   The cells are "attached" to a drawing using the ATTACH command in System
  1710.   Mode.
  1711.  
  1712.   The attached cells may be included in a drawing by first making them the
  1713.   object to be added with the OBJ command and then adding with the ADD
  1714.   command. Once added the attached cells may be manipulated like any other
  1715.   normal cell.
  1716.  
  1717.   Read the Attached Cells topic and the ATTACH and IMPORT Command topics.
  1718.  
  1719.  Pooling Old Cells
  1720.  
  1721.   It is fairly easy to replace cells made with previous versions of LASI
  1722.   with cells from a common pool. First, the cells to be replaced must be
  1723.   placed in the POOL directory cell collection. The easy way to do this is
  1724.   to use the TLC program to first produce TLC files and then use the TLC
  1725.   program to transfer the TLC files to internal form in the POOL directory.
  1726.  
  1727.   After you are sure that the cells are in the pool, you can run LASI
  1728.   version 4.3 in the DRAWING directory and use the ATTACH command on the
  1729.   cells to be taken from the pool.
  1730.  
  1731.   Once you have decided that all is correct, and you expect to never need
  1732.   the cell in the drawing directory again, you can simply erase the unused
  1733.   BP4 files from the DRAWING directory using DOS's file delete.
  1734.  
  1735.   Do NOT use the KILL command to erase cells, because this removes cells,
  1736.   normal or attached, completely from a drawing.
  1737.  
  1738.   If you happen to run the 4.0 version of LASI on a drawing containing
  1739.   attached cells, the results that you get when drawing will be somewhat
  1740.   unpredictable. Whatever is in the buffers at the time will be drawn in
  1741.   place of the attached cell. This does no harm to the drawing data unless
  1742.   you go into Cell Mode on one of the attached cells. Doing this will
  1743.   generate a BP4 file in the DRAWING directory, and the parameters of the
  1744.   cell in the cells list (CELLS4.DBD) will be rewritten.
  1745.  
  1746.   Fortunately, if you run LASI 4.3 again on the drawing data, the attached
  1747.   cell will be rerecognized and the pool cell will reappear. To correct any
  1748.   problem of wrong data in the cells list you can simply reATTACH the cell.
  1749.   You can also cautiously delete any false BP4 files that may have been
  1750.   placed in the DRAWING directory.
  1751.  
  1752.  Starting a Drawing
  1753.  
  1754.   This is an elaboration on Quick Start. If you have run LASI you already
  1755.   know how to get LASI up and working, here are more details that you would
  1756.   normally go through when really using LASI seriously.
  1757.  
  1758.  
  1759.   To start a drawing:
  1760.  
  1761.   1. Create a "drawing directory" as an independent directory.
  1762.  
  1763.     The drawing directory should be named for the drawing to be made. Each
  1764.     different drawing is kept on the hard disk by isolating it in its own
  1765.     directory. The drawing directory will contain certain .DBD files
  1766.     (drawing basic data) and the "internal" files (.BP4 and .CL4) for the
  1767.     cells that you create.
  1768.  
  1769.     NEVER make drawings in the \LASI4 directory.
  1770.  
  1771.   2. Copy a FORM.DBD file to the drawing directory.
  1772.  
  1773.     The FORM.DBD file customizes LASI to the specific hardware and software
  1774.     you are using. The FORM.DBD is local to a drawing directory so it can
  1775.     be different for each drawing. You may copy a FORM file from another
  1776.     drawing or use the generic one that comes with the system files. Read
  1777.     the FORM File topic for a description of the different parameters.
  1778.  
  1779.   3. Edit the FORM.DBD file if necessary.
  1780.  
  1781.     The FORM.DBD file is important since it configures your drawing to your
  1782.     hardware. You can usually use the default values in the original
  1783.     distribution FORM.DBD at first, but you eventually will need to change
  1784.     FORM.DBD using a editor such as EDLIN.COM or EDIT from MS-DOS 5 or 6.
  1785.     Once you establish a "normal" FORM.DBD file, you can just copy it from
  1786.     drawing to drawing.
  1787.  
  1788.   4. Make the drawing directory your default directory and run LASI.EXE.
  1789.  
  1790.     The program will start in System Mode. When you first begin a drawing
  1791.     you should check the scale using the SCALE command and decide if the
  1792.     parameters are what you want. The scale really only relates the
  1793.     physical units in which you do a drawing to the basic units in which
  1794.     the drawing is actually stored. If you do not use the appropriate
  1795.     scale, you may create cells that have too little resolution, or too
  1796.     much resolution, and the overall size of your drawing will be too
  1797.     small.
  1798.  
  1799.   Note:  The RESIZE.EXE utility program allows the resolution or basic
  1800.     units used to draw cells to be changed later, but it is better to set
  1801.     the correct scale in the beginning.
  1802.  
  1803.   5. If you are using the cell pooling feature of LASI 4.3 attach any
  1804.      pooled cells that you think you might need.
  1805.  
  1806.     You can always attach cells, but bringing in basic cells is a good
  1807.     place to start.
  1808.  
  1809.   6. Use the CELL command to go to Cell Mode and create new cells.
  1810.  
  1811.     Start by drawing the lowest rank cells that will be used as building
  1812.     blocks for higher rank more complex cells, and eventually the overall
  1813.     layout. Generally, repetitive structures should be made as individual
  1814.     cells and used to build other cells. However, too few boxes or paths
  1815.     can be a waste of a cell. With experience you will develop a feel of
  1816.     how to partition your cell structuring.
  1817.  
  1818.   Hint:  If you have a similar drawing in another directory and you have
  1819.     already defined the hardware and drawing parameters, you can copy the
  1820.     CONSTS4.DBD file into the new directory. This will save you the trouble
  1821.     of redefining things over again. The CELLS4.DBD file is NEVER copied
  1822.     from drawing to drawing since it serves as a cell reference list that
  1823.     is different with each drawing. For the same reason, you MAY NOT copy
  1824.     BP4 and CL4 files between drawings.
  1825.  
  1826.  Undoing
  1827.  
  1828.   Whenever you enter into Cell Mode or use the SORT, DEL or SMSH command, a
  1829.   backup copy of the drawing is stored on the hard disk. To retrieve the
  1830.   stored backup, you use the UNDO command.
  1831.  
  1832.   If you don't sort, and you leave LASI unattended, after a certain amount
  1833.   of time, LASI will automatically sort and backup cell drawing data on its
  1834.   own.
  1835.  
  1836.   Read the SORT, DEL, SMSH and UNDO Command topics.
  1837.  
  1838.  Universe
  1839.  
  1840.   The drawing area is 65536 units in each direction since positions are
  1841.   determined by a 16 bit integer. This drawing space might be called the
  1842.   drawing's universe.
  1843.  
  1844.   If objects are moved they may exceed the signed integer limits of -32768
  1845.   to 32767 basic units. Objects that move beyond the limits go through
  1846.   "integer infinity" and reappear from the opposite direction.
  1847.  
  1848.   If this happens, you will find that objects, particularly paths, can be
  1849.   very distorted. To correct this, move the objects back so that all points
  1850.   are in the same universe.
  1851.  
  1852.   Distortions can always be corrected by a linear move if done immediately.
  1853.   More than one "infinity" in sequence may not be correctable.
  1854.  
  1855.   Commands affected:  CPY, FLP, MOV, ORIG, WMOV, QMOV, CMOV, ROT, STEP
  1856.  
  1857.  Using MS-DOS 5 or 6
  1858.  
  1859.   Using DOSSHELL found in MS-DOS 5 or 6 (if you like it) is an easy way to
  1860.   setup drawings when using LASI. You can make each drawing a Program Item
  1861.   either by itself or as a part of a Program Group. Set the "Commands"
  1862.   property to "lasi.exe" and the "Startup Directory" to the drawing
  1863.   directory.
  1864.  
  1865.   The ability to MS-DOS 5 or 6 to load drivers into the upper memory area
  1866.   (640K to 1MB) on a 80386 or 80486 computer should be used to save
  1867.   conventional memory. This will give you more memory for a larger number
  1868.   of LASI objects. If you have some extended memory, even on a 80286
  1869.   computer, you can still gain more memory by installing HIMEM.SYS and
  1870.   putting "DOS=HIGH" in the CONFIG.SYS file.
  1871.  
  1872.   Using DOS's FASTOPEN.EXE can help the drawing speed by reducing the time
  1873.   that LASI takes to swap data in and out, either to RAM disk or hard disk.
  1874.   You should experiment to find which DOS features work best.
  1875.  
  1876.   MS-DOS 6 has a program MEMMAKER.EXE that finds places to move TSR
  1877.   programs out of conventional memory. This should be used if at all
  1878.   possible because it will automatically make more memory available to
  1879.   LASI.
  1880.  
  1881.   If you are using another DOS such as DR-DOS, similar advice applies.
  1882.  
  1883.  Using a RAM Disk
  1884.  
  1885.   Drawing speed can be greatly improved if a RAM disk is used. Cell files
  1886.   that normally would be kept on a hard disk can be placed on a RAM disk by
  1887.   using the MS-DOS VDISK.SYS or RAMDRIVE.SYS drivers, or similar software.
  1888.   LASI will automatically swap cell files to a RAM disk when it draws, and
  1889.   then restore them to the hard disk when it is finished.
  1890.  
  1891.   To use a RAM disk you must first create the RAM disk during DOS bootup
  1892.   time by adding the driver to your CONFIG.SYS file. The RAM disk should be
  1893.   located in extended (or expanded) memory.
  1894.  
  1895.   To have LASI recognize a RAM disk, the "rdisk=" parameter of the FORM.DBD
  1896.   file must be the letter name of the RAM disk. For example, if the RAM
  1897.   disk installs as disk E:, then "rdisk=E:" would be the parameter.
  1898.  
  1899.   If you have no RAM disk installed, set the "rdisk=" parameter to the
  1900.   letter name of your drawing directory disk, or simply leave the "rdisk="
  1901.   parameter blank, since the drawing directory is on the default disk
  1902.   drive.
  1903.  
  1904.   The RAM disk must be large enough to hold all the cell files in a
  1905.   drawing. Computers with a megabyte or more of additional memory above
  1906.   640K are needed for most real work. When creating the RAM disk the
  1907.   driver's parameters must be set to hold both the amount of memory and the
  1908.   number of files expected.
  1909.  
  1910.   When LASI is run, it presently does not erase the RAM disk files. Old
  1911.   files may therefore clutter your RAM disk. Since it is not too hard to
  1912.   erase the wrong disk, possibly your hard disk, it is recommended that you
  1913.   make a batch file (.BAT) to erase the RAM disk when beginning a new
  1914.   drawing, load a mouse driver, if needed, and then run LASI. Of course,
  1915.   whenever you turn off the computer power, the RAM disk is erased anyway.
  1916.  
  1917.   If you do run out of RAM disk space a warning will appear on the screen.
  1918.   LASI will try to preserve your drawing by switching to the hard disk if
  1919.   it finds that the RAM disk is full. Drawing will slow down noticeably in
  1920.   that case. In particular, if the basic objects (boxes, paths and text)
  1921.   are no longer swappable to the RAM disk, you will see the hard disk being
  1922.   accessed if you are drawing a cell that contains other cells. If this
  1923.   happens, you should exit LASI, increase your RAM disk space, if possible,
  1924.   and rerun LASI.
  1925.  
  1926.   Important:  If you do not use a RAM disk, run a disk organizing program
  1927.     such as DISK OPTIMIZER or SPEEDISK from Norton's Utilities on your hard
  1928.     disk often. If cell files become highly fragmented, the drawing time
  1929.     for LASI can become incredibly long. MS-DOS 6 now includes DEFRAG.EXE
  1930.     which is a cut-down version of SPEEDISK. Running any of these programs
  1931.     frequently can greatly improve drawing speed.
  1932.  
  1933.  Using a Disk Cache
  1934.  
  1935.   Installing a software disk caching driver can also speed up the redrawing
  1936.   of cells just as using a RAM disk. The disadvantages are that you will
  1937.   occasionally go to the hard disk if you lose a file from the RAM cache,
  1938.   and you will use more RAM in the DOS program area below 640K unless your
  1939.   cache uses high memory for its manager. The advantage is that you will
  1940.   not have to worry about running out of RAM disk space.
  1941.  
  1942.   Any disk cache driver, such as SMARTDRV from Microsoft, should work.
  1943.   Installing the disk cache in extended memory just as with a RAM disk is
  1944.   preferred, and the cache size should be as large as is needed to get a
  1945.   good hit ratio. If you run Windows, you probably have SMARTDRV already
  1946.   installed, in fact, SMARTDRV.EXE 4.0 that comes with Windows 3.1 or
  1947.   SMARTDRV 5.0 that comes with DOS 6.2 are quite good.
  1948.  
  1949.   To use a cache set the "rdisk=" parameter in FORM.DBD to the same drive
  1950.   letter name as your drawing directory or leave it blank.
  1951.  
  1952.   Many of the newer hard disks have caches in their hardware already. You
  1953.   may find that the hardware cache is adequate and that a software cache is
  1954.   not necessary. The best thing to do is to experiment.
  1955.  
  1956.  Using MS-Windows
  1957.  
  1958.   LASI will run under Microsoft's Windows 3.1 as a DOS Application. Each
  1959.   drawing can be setup by first creating a "LASI" Program Group and
  1960.   installing it as a Program Item using the Program Manager. When creating
  1961.   the Item you should enter and appropriate "Description" and a "Command
  1962.   Line" as disk:\LASI4\LASI.EXE, where "disk" is the disk where LASI is
  1963.   installed. You should enter the particular drawing directory as the
  1964.   "Working Directory".
  1965.  
  1966.   Since LASI is a DOS program and is rather computationally intensive, it
  1967.   will run best in Standard Mode, where it will run as a single activity.
  1968.   It probably will not run well in 386 Enhanced Mode, where it may have to
  1969.   share time with other programs. It must always be run as a Full Screen
  1970.   program. It will also be memory limited to DOS's 640K.
  1971.  
  1972.   It helps to install HIMEM.SYS and use only part of any extended RAM for
  1973.   your RAM disk (use RAMDISK.SYS), leaving room for Windows to use part of
  1974.   extended memory for its own use.
  1975.  
  1976.   Installing the disk cache SMARTDRV.SYS can also improve disk speed so
  1977.   that a RAM disk may be unnecessary.  Read the Using RAM Disk topic.
  1978.  
  1979.  
  1980.   LASI is a DOS program with its own graphical interface. Although its
  1981.   displays may not be as elaborate as Windows displays, LASI functions
  1982.   quite a bit faster overall, particularly on slower computers. To those
  1983.   who are happily running LASI under DOS, running it under Windows seems to
  1984.   have little advantage; it in fact wastes memory. You might like to
  1985.   experiment however to see if there are any benefits in your own
  1986.   individual case.
  1987.  
  1988. Command Information
  1989.  
  1990.  
  1991.  Add
  1992.  
  1993.   ADD adds an object to the drawing.
  1994.  
  1995.   ■ The object to be added is set by the OBJ command and is indicated at
  1996.     the bottom of the screen.
  1997.  
  1998.   ■ A box requires two coordinate points at diagonally opposite corners.
  1999.  
  2000.   ■ A path (poly) takes a vertex from each coordinate input.
  2001.  
  2002.   ■ A path adds a new vertex after the first active vertex found in the
  2003.     order in which the path is drawn.
  2004.  
  2005.   ■ A cell is added with its origin at a single coordinate point.
  2006.  
  2007.   The cursor will indicate the adding action that will take place. For
  2008.   boxes, the box outline will be shown in dots. For paths, segments will be
  2009.   previewed as dotted lines. Cells add as a single point.
  2010.  
  2011.  aGet
  2012.  
  2013.   AGET (all get) is a combination of FGET and CGET.
  2014.  
  2015.   ■ This command acts on cells, boxes, paths and text in the same way as
  2016.     those commands.
  2017.  
  2018.   AGET is useful if you are MOVing, CPYing or FLPing large sections of a
  2019.   drawing because you can see just which object are active before the
  2020.   operation, and unlike WGET it will not distort paths.
  2021.  
  2022.  aPut
  2023.  
  2024.   APUT (all put) makes all boxes, paths, text and cells inactive.
  2025.  
  2026.   ■ This command is for making sure that ALL objects are inactive.
  2027.  
  2028.   APUT is a handy command to make objects inactive with a single mouse
  2029.   button click.
  2030.  
  2031.  Arc
  2032.  
  2033.   ARC calls the arc generator.
  2034.  
  2035.   Rules for making arcs:
  2036.  
  2037.   ■ An arc is generated starting at the first active vertex found on a
  2038.     path, and is swung around an arc center point to an end point.
  2039.  
  2040.   ■ The radius of the arc is a linear function of the angle and the
  2041.     difference in radius between the start and end points.
  2042.  
  2043.   ■ The center and end points are single coordinate input points.
  2044.  
  2045.   ■ The number of segments and the direction of generation (cw or ccw) must
  2046.     be entered when requested.
  2047.  
  2048.   ■ To start an arc from nothing you must first add a single active vertex
  2049.     and then call the generator. The arc takes its width and layer from the
  2050.     original path object or "arc seed".
  2051.  
  2052.   ■ Arc internal points are added on the nearest unit grid.
  2053.  
  2054.   ■ Arc end points are added on the nearest working grid.
  2055.  
  2056.   Hint:  If you are generating an arc with many vertices, you can speed up
  2057.     the process by pressing ESC or clicking the right mouse button, which
  2058.     causes drawing to be bypassed.
  2059.  
  2060.  Arrows
  2061.  
  2062.   Up, down, left and right arrows pan the drawing window.
  2063.  
  2064.   ■ The drawing window is moved by a certain fraction of its width in the
  2065.     arrow's direction.
  2066.  
  2067.   ■ The display is redrawn.
  2068.  
  2069.   The arrow keys on the keyboard perform this same function to be
  2070.   consistent with other CAD systems.
  2071.  
  2072.   Read DRAW.
  2073.  
  2074.  Attach
  2075.  
  2076.   ATTACH installs a cell from a common cell pool in a drawing's cell
  2077.   collection.
  2078.  
  2079.   ■ ATTACH will first search to find if a cell already exists in the
  2080.     drawing. If one is found you will be ask if you want to continue. If a
  2081.     cell is not found, it will be immediately added to the cell collection.
  2082.  
  2083.   ■ ATTACH will turn a normal cell into an attached cell, but the attached
  2084.     cell must exist in the pool directory.
  2085.  
  2086.   ■ Higher rank cells may be attached but you will only get the boxes,
  2087.     paths and text of the cell, and the cell will changed to a rank 1 cell.
  2088.  
  2089.   ■ If the "pool=" parameter in FORM.DBD is missing or blank, the ATTACH
  2090.     command will not work.
  2091.  
  2092.   Read the Attached Cells General topic.
  2093.  
  2094.  Cap
  2095.  
  2096.   CAP calls the capacitance calculator.
  2097.  
  2098.   To measure capacitance:
  2099.  
  2100.   1. You first must enter the capacitance units/physical area unit. This
  2101.      will usually be in pF/um2.
  2102.  
  2103.   2. After you enter the capacitance per unit area, all paths with ANY
  2104.      active vertex will be measured automatically, and the total
  2105.      capacitance will be displayed. To compensate for corners, half the
  2106.      width is subtracted from each segment length.
  2107.  
  2108.   3. After all paths are measured, all boxes with ANY active sides will be
  2109.      measured automatically, and the total capacitance of the paths and
  2110.      boxes will be displayed.
  2111.  
  2112.   4. The command will then go into manual mode. Any polygons or areas in
  2113.      cells that should be included in the capacitance can then be manually
  2114.      measured.
  2115.  
  2116.   5. When in manual mode, at the command prompt "[/]", you must fill the
  2117.      area to be measured with rectangular cursor areas by clicking the left
  2118.      mouse button at diagonally opposite corners of the areas.
  2119.  
  2120.   6. An area's capacitance and the sum of previous capacitances will always
  2121.      be displayed at the bottom of the screen.
  2122.  
  2123.   7. To end measuring, click the mouse on any menu button except a window
  2124.      command, or press ESC.
  2125.  
  2126.   Note:  Measured areas are indicated by a lightly dotted fill. To measure
  2127.     an irregular area manually you simply click small rectangular areas
  2128.     until the total area is filled with minimum overlaps.
  2129.  
  2130.   This command may be used as an area parameter calculator. For example,
  2131.   you can calculate the area of an integrated circuit by setting the
  2132.   capacitance per area to 1.
  2133.  
  2134.  cCel
  2135.  
  2136.   CCEL changes any active cells into the specified cell.
  2137.  
  2138.   ■ This command will not work in a rank 1 cell.
  2139.  
  2140.   ■ Attempting to change to an unknown cell or a cell too high in rank will
  2141.     abort the command.
  2142.  
  2143.   Cancel CCEL by pressing ENTER only or ESC.
  2144.  
  2145.  Cell
  2146.  
  2147.   CELL exits Cell Mode or System Mode and (re)enters Cell Mode.
  2148.  
  2149.   From System Mode:
  2150.  
  2151.   ■ You will be asked for a cellname.
  2152.  
  2153.   ■ If a new cellname is not in the cell collection, the rank will also be
  2154.     requested and you will create a new cell.
  2155.  
  2156.   From Cell Mode:
  2157.  
  2158.   ■ The first active cell that is found in the drawing becomes the default
  2159.     cellname, and you will automatically exit and reenter Cell Mode with
  2160.     that cell.
  2161.  
  2162.   ■ If no default cellname is found, you will be asked for one.
  2163.  
  2164.   ■ If a new cellname is not in the cell collection, the rank will also be
  2165.     requested and you will create a new cell.
  2166.  
  2167.   In either mode, press ENTER only or ESC to the cellname or rank question
  2168.   and you will go to System Mode.
  2169.  
  2170.   Note:  You can also enter Cell Mode in two other ways:
  2171.  
  2172.   1. You can use the LIST command and click the left mouse button on the
  2173.      name of a cell.
  2174.  
  2175.   2. You can go directly to a cell from DOS by typing the cellname on the
  2176.      command line after "lasi" when starting the program.
  2177.  
  2178.  cGet
  2179.  
  2180.   CGET (cell get) makes cells active.
  2181.  
  2182.   ■ A cell can be made active in two ways:
  2183.  
  2184.   1. If the rectangular cursor window completely encloses the cell's area,
  2185.      the cell will become active.
  2186.  
  2187.   2. If the left mouse button is double clicked while making the cursor
  2188.      window, a cell will become active if the cells's area overlaps the
  2189.      cursor window. This does not work if the cell is drawn only as an
  2190.      outline.
  2191.  
  2192.   ■ An active cell turns bright white on all layers.
  2193.  
  2194.   ■ An active cell drawn as an outline turns bright white and is filled
  2195.     with dots.
  2196.  
  2197.   ■ There is no dependence on VIEW or OPEN.
  2198.  
  2199.   ■ If a cell is not found in the cursor window a cellname will be asked.
  2200.  
  2201.   CGET only works on the top level of cells and has no effect on boxes,
  2202.   paths or text.
  2203.  
  2204.  Clrs
  2205.  
  2206.   CLRS enters into the Layer Attribute Display and allows the color of a
  2207.   layer to be set.
  2208.  
  2209.   ■ The number of the layer is shown in the layer's color.
  2210.  
  2211.   To exit, press ESC to the "Color Layer" question.
  2212.  
  2213.  cLyr
  2214.  
  2215.   CLYR changes the layer of boxes, paths or text.
  2216.  
  2217.   ■ If the value entered is not 1 through 64, the layer will be reasked.
  2218.  
  2219.   ■ Boxes must have ALL sides active to change layer.
  2220.  
  2221.   ■ Paths must have ANY vertex active to change layer.
  2222.  
  2223.   ■ Text will change layer if active.
  2224.  
  2225.   Read LAYR.
  2226.  
  2227.  cMov
  2228.  
  2229.   CMOV (cell move) moves cells directly.
  2230.  
  2231.   ■ A cell can be moved in two ways:
  2232.  
  2233.   1. A cell will be moved if the rectangular cursor window completely
  2234.      encloses the cell's area.
  2235.  
  2236.   2. If the left mouse button is double clicked while making the cursor
  2237.      window, the cell will be moved if the cell's area overlaps the cursor
  2238.      window. This does not work if the cell is drawn only as an outline.
  2239.  
  2240.   ■ The first two cursor points form the cursor window.
  2241.  
  2242.   ■ The next two cursor points determine the distance to be moved.
  2243.  
  2244.   ■ The move part of the command accepts a single PKE distance entry.
  2245.  
  2246.   CMOV only works on the top level of cells and has no effect on boxes,
  2247.   paths or text.
  2248.  
  2249.  Cntr
  2250.  
  2251.   CNTR centers the drawing window.
  2252.  
  2253.   ■ The new center is a single point input from the mouse or a PKE
  2254.     coordinate entry.
  2255.  
  2256.   ■ The display is redrawn.
  2257.  
  2258.   Read DRAW.
  2259.  
  2260.  Copy
  2261.  
  2262.   COPY allows NORMAL cells to be copied or appended to other NORMAL cells.
  2263.  
  2264.   Rules for COPYing:
  2265.  
  2266.   ■ The source cell must be a NORMAL cell (not attached) in the drawing
  2267.     cell collection.
  2268.  
  2269.   ■ If the destination cell has a NEW NAME, a new cell will be created.
  2270.  
  2271.   ■ If the destination cell already exists, the source cell will be
  2272.     APPENDED to the existing cell.
  2273.  
  2274.   ■ If either the source or destination cells are attached cells, the
  2275.     command will abort.
  2276.  
  2277.   Inter-rank copying is permitted. If the source cell contains cells that
  2278.   have rank equal to or greater than the destination cell, those cells will
  2279.   not be copied. Boxes, paths and text are always copied.
  2280.  
  2281.   Appended objects appear as active objects in the destination cell. This
  2282.   allows you to move the appended parts if they overlay any previous
  2283.   objects.
  2284.  
  2285.   If the source or destination cells are incorrect, or if copying will
  2286.   overflow the maximum number of any objects, the copy operation will be
  2287.   cancelled and a message will be shown.
  2288.  
  2289.   Since COPY may be used to append to existing cells, it may be used as a
  2290.   means to copy parts of one cell into another. This is done by first using
  2291.   the MAKE command to create a temporary cell. Read the MAKE Command Topic.
  2292.  
  2293.   Also read the IMPORT Command Topic.
  2294.  
  2295.  cPut
  2296.  
  2297.   CPUT (cell put) makes cells inactive.
  2298.  
  2299.   ■ This the inverse of CGET, and works the same way.
  2300.  
  2301.   ■ If a cell is not found in the cursor window a cellname will be asked.
  2302.  
  2303.   Read APUT.
  2304.  Cpy
  2305.  
  2306.   CPY copies active objects.
  2307.  
  2308.   ■ The displacement is determined by a 2-point coordinate input.
  2309.  
  2310.   ■ The original objects are made inactive and the copies are made active.
  2311.  
  2312.   ■ Boxes are copied if ALL sides are active.
  2313.  
  2314.   ■ Cells are copied if they are active.
  2315.  
  2316.   ■ Vertices of paths are copied only if they are active. To copy a path
  2317.     completely it must be fully active (use FGET). This feature allows you
  2318.     to copy sections of paths.
  2319.  
  2320.   ■ Text is copied if it is active.
  2321.  
  2322.   ■ CPY accepts a single PKE distance entry.
  2323.  
  2324.   Read STEP.
  2325.  
  2326.  Cut
  2327.  
  2328.   CUT breaks a path into two separate paths at an active vertex.
  2329.  
  2330.   ■ This command works if there is ONLY ONE active vertex.
  2331.  
  2332.   ■ The last vertex at the cut point of the newly created path is made
  2333.     active.
  2334.  
  2335.   Use this command to break paths and polygons into smaller segments to
  2336.   create new constructions, and to make shorter paths and polygons that
  2337.   will be more manageable for translation into other CAD systems.
  2338.  
  2339.  cWth
  2340.  
  2341.   CWTH changes the width of paths and the size of text.
  2342.  
  2343.   ■ Paths with ANY vertex active will change width.
  2344.  
  2345.   ■ Text that is active will change its size to the new width.
  2346.  
  2347.   Read WDTH.
  2348.  
  2349.  Dash
  2350.  
  2351.   DASH enters into the Layer Attribute Display and allows the type of dash
  2352.   to be set for a layer.
  2353.  
  2354.   ■ The pattern of the dash number is shown by the sample lines.
  2355.  
  2356.   ■ The dash number of the layer is shown above the corresponding colored
  2357.     layer number.
  2358.  
  2359.   To exit, press ESC to the "Dash Layer" question.
  2360.  
  2361.  Del
  2362.  
  2363.   DEL deletes objects or parts of objects.
  2364.  
  2365.   ■ An object's layer must be VIEWed and OPENed to be deleted.
  2366.  
  2367.   ■ Boxes are deleted if ALL sides are active.
  2368.  
  2369.   ■ Active vertices of paths are deleted.
  2370.  
  2371.   ■ Text is deleted if it is active.
  2372.  
  2373.   ■ Paths with one or no vertices on any layer are deleted.
  2374.  
  2375.   ■ Cells that are active are deleted without regard to the layers that
  2376.     they contain and the setting of the VIEW and OPEN commands.
  2377.  
  2378.   Note:  Using DEL does NOT give back object memory that has been
  2379.     automatically allocated by the memory manager. If you make a large
  2380.     number of deletions and want to free memory, exit the current cell and
  2381.     then reenter it. The easy way is to use LIST and click on the current
  2382.     cell marked with the "*".
  2383.  
  2384.   Important:  Before any object is deleted, the hard disk files DSBKUP.BP4
  2385.     and DSBKUP.CL4 are updated. If you make a mistake and delete the wrong
  2386.     thing, you can use the UNDO command to restore the drawing.
  2387.  
  2388.  dGrd
  2389.  
  2390.   DGRD sets the dot grid.
  2391.  
  2392.   ■ The dot grid is in physical units.
  2393.  
  2394.   ■ The dot grid may be any acceptable size and can be toggled on and off
  2395.     with the GRID command.
  2396.  
  2397.   ■ If the grid is smaller than the resolution set by the SET command it
  2398.     will not be drawn.
  2399.  
  2400.   ■ The present dot grid will be shown at the bottom of the screen.
  2401.  
  2402.   ■ Each cell rank may have a different DGRD setting.
  2403.  
  2404.  DOS
  2405.  
  2406.   DOS temporally runs other programs from the DOS command line.
  2407.  
  2408.   ■ At least 64K of memory must be available for this command to work.
  2409.  
  2410.   ■ The DOS command from System Mode makes more memory available than the
  2411.     DOS command from Cell Mode because System Mode deallocates drawing
  2412.     space. If you use too much memory you may get an "Not Available"
  2413.     message.
  2414.  
  2415.   ■ Certain DOS command line operations may be done, DIR for example.
  2416.  
  2417.   ■ Certain small programs may be run if they can load into available
  2418.     memory.
  2419.  
  2420.   DO NOT run LASI utility programs from this command since the drawing
  2421.   information may not be current on the hard disk.
  2422.  
  2423.  Draw
  2424.  
  2425.   DRAW erases the drawing window and redraws the current cell.
  2426.  
  2427.   ■ Drawing of boxes, paths and text takes place in ascending layer order.
  2428.  
  2429.   ■ Lesser cells are drawn starting at the lowest rank and are overlayed
  2430.     upward.
  2431.  
  2432.   ■ The boxes, paths and text of the current cell always overlay all layers
  2433.     of any lesser cells.
  2434.  
  2435.   ■ If during redraw a cell's objects exceed the memory available, or a
  2436.     cell's BP4 or CL4 files are not found, a dotted outline will be
  2437.     substituted for the cell.
  2438.  
  2439.   ■ Paths with widths near the unit grid limit may appear distorted. This
  2440.     is because all drawing points are set in the unit grid.
  2441.  
  2442.   ■ If you try to draw a path or poly with a vertex count exceeding the
  2443.     limits of 250 and 500 respectively, the path or poly may not draw
  2444.     completely or fill correctly, but drawing will fail gracefully.
  2445.  
  2446.   ■ Paths may be drawn with or without a dashed center line. To toggle the
  2447.     center line on and off press the C key. A "C" displayed in the upper
  2448.     right of the screen indicates that center lines are ON.
  2449.  
  2450.   Read the Drawing Speed General topic for useful information.
  2451.  
  2452.  fGet
  2453.  
  2454.   FGET (full get) makes a box or path fully active.
  2455.  
  2456.   ■ A box is made fully active if ANY side is made active.
  2457.  
  2458.   ■ A path is made fully active if ANY vertex is made active.
  2459.  
  2460.   ■ FGET is the same as GET for text.
  2461.  
  2462.   ■ This command allows the entire box or path to be operated on by any
  2463.     subsequent command if only a part is accessible.
  2464.  
  2465.   If you want to delete a box or path completely use this command first.
  2466.  
  2467.  Fill
  2468.  
  2469.   FILL enters into the Layer Attribute Display and allows the type of fill
  2470.   to be set for a layer.
  2471.  
  2472.   ■ The pattern of the fill number is shown by the sample boxes.
  2473.  
  2474.   ■ The fill number of the layer is shown above the corresponding colored
  2475.     layer number.
  2476.  
  2477.   ■ Boxes, paths and closed polygons will be filled with the chosen fill
  2478.     pattern.
  2479.  
  2480.   ■ The fill of all layers may be temporally turned off by answering "off"
  2481.     to the "Fill Layer" question. Calling FILL again will turn the fill
  2482.     back on.
  2483.  
  2484.   To exit, press ESC to the "Fill Layer" question.
  2485.  
  2486.  Fit
  2487.  
  2488.   FIT sets the size of the drawing window so that it will show all of the
  2489.   objects in a cell.
  2490.  
  2491.   ■ There is no dependence in VIEW or OPEN.
  2492.  
  2493.   ■ The display is redrawn.
  2494.  
  2495.   ■ If there are no objects present, fit will expand the drawing window to
  2496.     the maximum size permitted or the whole "universe".
  2497.  
  2498.   Read DRAW and the Universe General Topic.
  2499.  
  2500.  Flp
  2501.  
  2502.   FLP flips objects.
  2503.  
  2504.   ■ Flipping in either X or Y determined by a 2-point coordinate input.
  2505.  
  2506.   ■ The larger dimension of the cursor input determines the flip axis.
  2507.  
  2508.   ■ The cursor will show the approximate flip axis.
  2509.  
  2510.   ■ Boxes flip if ALL sides are active.
  2511.  
  2512.   ■ ALL vertices of a path flip if ANY vertex is active.
  2513.  
  2514.   ■ Text will flip if active.
  2515.  
  2516.   Note:  FLP and ROT do no commute. That is, the order in which these
  2517.     commands are used is important. Objects FLPed and ROTed in different
  2518.     orders are not the same.
  2519.  
  2520.   Read ROT.
  2521.  
  2522.  Form
  2523.  
  2524.   FORM displays the settings in the FORM.DBD file.
  2525.  
  2526.   ■ The parameters and their variables are shown on the first page.
  2527.  
  2528.   ■ The function key assignments are shown on the next two pages or until
  2529.     there are no more assignments.
  2530.  
  2531.   ■ Press ESC or click the right mouse button to goto the next page.
  2532.  
  2533.   Read the FORM File topic in General Information.
  2534.  
  2535.  fPut
  2536.  
  2537.   FPUT (full put) makes boxes, paths and text fully inactive.
  2538.  
  2539.   ■ This is the inverse of FGET.
  2540.  
  2541.   ■ A box is made fully inactive if ANY side is made inactive.
  2542.  
  2543.   ■ A path is made fully inactive if ANY single vertex is made inactive.
  2544.  
  2545.   ■ FPUT is the same as PUT for text.
  2546.  
  2547.   Use this command to make fully inactive a box or path when only a part of
  2548.   the box or path is displayed.
  2549.  
  2550.  Full
  2551.  
  2552.   FULL removes cells from being drawn as an outline.
  2553.  
  2554.   ■ Cells are changed from being drawn as an outline if a cell's area is
  2555.     completely enclosed by the rectangular cursor window.
  2556.  
  2557.   ■ If a cell is not found in the cursor window a cellname will be asked.
  2558.  
  2559.   Read OUTL.
  2560.  
  2561.  Get
  2562.  
  2563.   GET makes single parts of boxes and paths active.
  2564.  
  2565.   ■ The layer must be VIEWed and OPENed.
  2566.  
  2567.   ■ Box sides are made active if they intersect the rectangular cursor
  2568.     window.
  2569.  
  2570.   ■ Path vertices are made active if they intersect the cursor window.
  2571.  
  2572.   ■ Text is made active if its reference point intersects the cursor
  2573.     window.
  2574.  
  2575.   When made active:
  2576.  
  2577.   ■ Box sides turn bright white.
  2578.  
  2579.   ■ Vertices are marked and segments of paths that will move as a unit turn
  2580.     bright white.
  2581.  
  2582.   ■ Text turns bright white.
  2583.  
  2584.   GET is the default command when LASI is started.
  2585.  
  2586.  Grid
  2587.  
  2588.   GRID toggles the dot grid on and off.
  2589.  
  2590.   ■ The menu button intensifies to indicate that the grid is on.
  2591.  
  2592.   ■ The dot grid will not be drawn if the spacing is less that the drawing
  2593.     resolution set using the SET command.
  2594.  
  2595.   Read SET and DGRD.
  2596.  
  2597.  Hcpy
  2598.  
  2599.   HCPY expands the screen and calls a hardcopy program that makes a bitmap
  2600.   copy of the screen on a printer or to a file.
  2601.  
  2602.   When HCPY is called the screen will redraw to full size. The system will
  2603.   wait for a key to be pressed:
  2604.  
  2605.   ■ Press ENTER if you want to add the name, date and time to the screen
  2606.     and start a hardcopy.
  2607.  
  2608.   ■ Press CTRL-ENTER if you want to make a hardcopy of the screen without
  2609.     the name, date and time.
  2610.  
  2611.   ■ Press ESC anytime if you want to abort hardcopying.
  2612.  
  2613.   Note:  At least 64K of remaining memory is necessary to run a hardcopy
  2614.     program. If there isn't, the hardcopy will not execute and you will
  2615.     return to LASI Cell Mode.
  2616.  
  2617.   Read the Hardcopy General topic.
  2618.  
  2619.  Info
  2620.  
  2621.   INFO identifies an active object or gives drawing information.
  2622.  
  2623.   ■ Objects are taken in the order: box/path/cell.
  2624.  
  2625.   ■ Only the first active object found is reported.
  2626.  
  2627.   ■ For a box the layer is shown.
  2628.  
  2629.   ■ For a path the layer and the width are shown.
  2630.  
  2631.   ■ For text the layer and size are shown.
  2632.  
  2633.   ■ For a cell the name, number, position and orientation are shown.
  2634.  
  2635.   ■ No active object gives tells the amount of memory that is still free.
  2636.  
  2637.   Read SHOW.
  2638.  
  2639.  Import
  2640.  
  2641.   IMPORT allows ATTACHED cells to be brought into a drawing as NORMAL
  2642.   cells.
  2643.  
  2644.   Rules for IMPORTing:
  2645.  
  2646.   ■ The source must be an ATTACHED cell in the drawing cell collection.
  2647.  
  2648.   ■ If the destination cell has the SAME NAME as the source cell, the cell
  2649.     becomes a NORMAL cell and replaces all occurrences of its use in all
  2650.     other cells.
  2651.  
  2652.   ■ If the destination cell has a NEW NAME, a NEW NORMAL cell will be
  2653.     created with the new name.
  2654.  
  2655.   ■ The destination will always become a rank 1 cell.
  2656.  
  2657.   ■ If the source cell is not attached, the destination cell is already
  2658.     present or is an attached cell with a different name, the command will
  2659.     be aborted.
  2660.  
  2661.   ■ Cells never export back to the pool.
  2662.  
  2663.   If imported to the SAME NAME, a BP4 file will be copied from the pool to
  2664.   the drawing directory. You would use this procedure if you want to
  2665.   replace all occurrences of an attached cell in other cells with a normal
  2666.   cell that may be modified. You can then RENAM the normalized cell, and
  2667.   ATTACH the original cell again to make other modified versions.
  2668.  
  2669.   If the destination has a NEW NAME, a new normal cell will be created and
  2670.   the attached cell will remain unaffected. You can then modify the new
  2671.   cell and use it where desired.
  2672.  
  2673.   Notice that the difference between these two procedures is that in the
  2674.   first procedure the attached cell is replaced automatically wherever it
  2675.   is used. In the second procedure you generate an independent cell and you
  2676.   must replace any occurrences of the attached cell individually.
  2677.  
  2678.   If the source or destination cells are incorrect, or if importing will
  2679.   overflow the memory available, the import operation will be cancelled and
  2680.   a message will be shown.
  2681.  
  2682.   Read the COPY Command topic.
  2683.  
  2684.  Join
  2685.  
  2686.   JOIN connects two paths head to tail to form a new single path.
  2687.  
  2688.   Rules for JOINing:
  2689.  
  2690.   ■ This command works only if there are exactly two active vertices which
  2691.     are the beginning and end of a path.
  2692.  
  2693.   ■ If the active vertices are beginning and end of the same path and the
  2694.     path is not already closed, a segment will be added to close the path
  2695.     and both vertices will be made inactive.
  2696.  
  2697.   ■ If the active vertices are beginning and end of different paths and the
  2698.     vertices are at the same location, the paths will be merged into a
  2699.     single path, one vertex will be deleted, and one vertex will be made
  2700.     inactive.
  2701.  
  2702.   ■ If the active vertices are beginning and end of different paths and the
  2703.     vertices are at different locations, a segment will be added, the paths
  2704.     will be merged into a single path, and both vertices will be made
  2705.     inactive.
  2706.  
  2707.   Use this command to condense paths to reduce data, and to make closed
  2708.   polygons out of open polygon segments.
  2709.  
  2710.  Kill
  2711.  
  2712.   KILL removes a cell from the drawing
  2713.  
  2714.   ■ Cells are removed from the drawing's cell collection.
  2715.  
  2716.   ■ KILLed cells are removed from any other cells.
  2717.  
  2718.   ■ The cell internal files at the DOS system level are erased.
  2719.  
  2720.   Important:  It is recommended that you keep an archive of your cells
  2721.     using the TLCOUT.EXE utility program. This is the only way that you can
  2722.     recover a cell that has been accidentally KILLed.
  2723.  
  2724.  Layr
  2725.  
  2726.   LAYR sets the default layer of boxes, paths or text to be ADDed.
  2727.  
  2728.   ■ If the RESIDENT Command is TEXT when LAYR is called, the default layer
  2729.     of text to be ADDed will be set, otherwise, the default layer of boxes
  2730.     or paths to be ADDed will be set.
  2731.  
  2732.   ■ If the value entered is not 1 through 64, the layer will be reasked.
  2733.  
  2734.   Read CLYR.
  2735.  
  2736.  List
  2737.  
  2738.   LIST lists the cells in the cell collection.
  2739.  
  2740.   ■ This command appears in both System and Cell Modes.
  2741.  
  2742.   ■ The mouse will also be active and the cursor can be positioned on the
  2743.     name of any of the cells listed. If the left mouse button is clicked on
  2744.     the cellname, Cell Mode will be entered for that cell.
  2745.  
  2746.   ■ If the left mouse button is clicked in a location that will not select
  2747.     a cell, it will be ignored.
  2748.  
  2749.   ■ Pressing ESC or clicking the right mouse button will step to the next
  2750.     page or will exit to the present mode.
  2751.  
  2752.   ■ Attached cell names appear in red in the cell list.
  2753.  
  2754.   The list of cells has a history feature. The number that appears in front
  2755.   of a cellname indicates the inverse order in which the cells were last
  2756.   opened. That is, number 1 is the last cell you worked on, number 2 the
  2757.   second to last, and so on. This allows you to go through a sequence of
  2758.   deeply nested cells, and then randomly return to a higher ranked cell.
  2759.  
  2760.   Rules for cell history:
  2761.  
  2762.   ■ If a cell is opened again, previous events for that cell are purged
  2763.     from the history.
  2764.  
  2765.   ■ An asterisk indicates the current cell.
  2766.  
  2767.   Hint:  LIST is the fastest way to change from cell to cell because you
  2768.     don't have to type or even precisely remember a cellname.
  2769.  
  2770.  Make
  2771.  
  2772.   MAKE makes a new cell from the active cells, boxes, paths and text.
  2773.  
  2774.   Rules for MAKE:
  2775.  
  2776.   ■ Boxes, paths and text are copied if ANY part is active.
  2777.  
  2778.   ■ The rank of the new cell will be one higher than the highest rank of
  2779.     any active cells.
  2780.  
  2781.   ■ The name must not already be in the cell collection. If it is, the
  2782.     prompt will be reasked. No name at all or ESC will cancel MAKE.
  2783.  
  2784.   Note:  When MAKE makes a new cell it first determines the area or outline
  2785.     of the current cell on which you are working. It then uses this area as
  2786.     the area of the new cell. It also uses the current origin as the origin
  2787.     of the new cell. Normally, you will enter into Cell Mode with the new
  2788.     cell and reposition the origin with the ORIG command. When Cell Mode is
  2789.     then exited the correct area will be recalculated.
  2790.  
  2791.   Hint:  When MAKE is used to create a new cell, its name is at the end of
  2792.     the cell list. Use LIST to go to the new cell to make any changes.
  2793.  
  2794.  
  2795.   MAKE can be used to copy all or part of one cell to another cell. First
  2796.   make a temporary cell and then go to System Mode and COPY the temporary
  2797.   cell to the destination cell. When you enter the destination cell the you
  2798.   will find the temporary cell appended to it. You can later KILL the
  2799.   temporary cell. Notice that you are in effect placing all or part of a
  2800.   cell on a "clipboard" and then inserting the objects on the clipboard
  2801.   into another cell. This is a common procedure used with many types of
  2802.   data exchange.
  2803.  
  2804.  Mov
  2805.  
  2806.   MOV moves the active sides of boxes, active vertices, active text and
  2807.   active cells.
  2808.  
  2809.   ■ The distance is determined from a 2-point coordinate input.
  2810.  
  2811.   ■ The cursor will show the approximate move.
  2812.  
  2813.   ■ MOVs are always done in multiples of the working grid, unless you press
  2814.     the A or ALT keys to switch to the unit grid.
  2815.  
  2816.   ■ MOV accepts a single PKE distance entry.
  2817.  
  2818.   Read WMOV, QMOV and CMOV.
  2819.  
  2820.  Obj
  2821.  
  2822.   OBJ sets the name or type of object to be added.
  2823.  
  2824.   ■ Responding with "b" will make boxes and "p" will make paths.
  2825.  
  2826.   ■ For adding a cell give the NAME of the cell.
  2827.  
  2828.   Note:  Boxes, paths and cells are treated equally as far as adding is
  2829.     concerned. However, boxes, paths and text are "basic" objects while
  2830.     cells are compound objects. Generally, there are different commands for
  2831.     these different types of objects.
  2832.  
  2833.  Octo
  2834.  
  2835.   OCTO is a toggle that enables octagonal cursor mode on certain commands.
  2836.  
  2837.   ■ The menu button intensifies to indicate that octagonal mode is on.
  2838.  
  2839.   ■ When octagonal mode is on, the cursor movement vector is snapped to the
  2840.     nearest 45 degrees. The commands ADD (for paths), MOV, WMOV, QMOV, CMOV
  2841.     and CPY are affected.
  2842.  
  2843.   This command is used to restrict drawing so that only 45 and 90 degree
  2844.   angles are allowed, which preserves drawing neatness and conforms to
  2845.   certain physical artwork generation requirements.
  2846.  
  2847.  Open
  2848.  
  2849.   OPEN sets the layers that can have their boxes, paths and text made
  2850.   active.
  2851.  
  2852.   ■ Boxes, paths and text that are not OPENed are blocked from the GET,
  2853.     FGET, WMOV, QMOV, PBEG and PEND commands.
  2854.  
  2855.   ■ Cell commands like CGET, CPUT or CMOV are not affected.
  2856.  
  2857.   ■ Each cell rank may have different OPEN parameters.
  2858.  
  2859.   VIEW and OPEN accept layer inputs that can be single layers in any order,
  2860.   or a dash (-) can be used to indicate all inclusive layers between the
  2861.   end layers. A dash alone will give all layers from 1 to 64.
  2862.  
  2863.  Orig
  2864.  
  2865.   ORIG relocates the coordinates of all objects in a cell drawing so that
  2866.   the single cursor input point is the 0,0 position.
  2867.  
  2868.   ■ This command allows objects to be constructed almost anywhere on the
  2869.     drawing window and then be repositioned as desired.
  2870.  
  2871.   ■ The working grid is the default grid, but may be changed to the unit
  2872.     grid with the A or ALT keys.
  2873.  
  2874.   Set you cell origin as soon as you make a cell, or you may have to
  2875.   relocate the cell each time it is used in higher ranking cells.
  2876.  
  2877.  Outl
  2878.  
  2879.   OUTL sets cells to draw as an outline.
  2880.  
  2881.   ■ A cell can be turned into an outline in two ways:
  2882.  
  2883.   1. Cells are changed to outlines if a cell's area is completely enclosed
  2884.      by the rectangular cursor window.
  2885.  
  2886.   2. If the mouse is double clicked while making the cursor window, cells
  2887.      will be outlined if the cell's area overlaps the cursor window.
  2888.  
  2889.   ■ An outlined cell will be drawn as a white rectangle with the name of
  2890.     the cell in text in the lower left corner. An active cell in outline
  2891.     will be drawn as a bright white rectangle filled with dots.
  2892.  
  2893.   ■ The cell's name can be toggled on and off by pressing the N key. An "N"
  2894.     displayed in the upper right of the screen indicates that names are ON.
  2895.  
  2896.   ■ If a cell is not found in the cursor window a cellname will be asked.
  2897.  
  2898.   You can greatly speed up an overall redraw by setting the cells in an
  2899.   region where you are not currently working to outline. When a cell is set
  2900.   to outline, retrieval of the cell's files from a disk is unnecessary and
  2901.   drawing the internal parts of a cell is skipped.
  2902.  
  2903.   Read FULL.
  2904.  
  2905.  OvSz
  2906.  
  2907.   OVSZ expands the sides of boxes, paths and closed poly by a certain
  2908.   distance.
  2909.  
  2910.   Rules for OVSZing:
  2911.  
  2912.   ■ A negative distance shrinks the sides.
  2913.  
  2914.   ■ Only active box sides are oversized.
  2915.  
  2916.   ■ All sides of paths or closed polygons are oversized if ANY vertex is
  2917.     active.
  2918.  
  2919.   ■ The oversizing algorithm used must identify a polygon as having a
  2920.     rotational angle of +/-360 deg. If this cannot be done, the poly will
  2921.     be unchanged.
  2922.  
  2923.   ■ If a poly contains adjacent sides that are folded back 180 deg on each
  2924.     other, the results will be undefined since the direction of folding
  2925.     cannot be identified.
  2926.  
  2927.   Note:  Acute angles on closed poly are not oversized correctly. You need
  2928.     to insert an additional vertex at an acute angle to prevent the peak of
  2929.     an acute angle from extending beyond the oversize distance.
  2930.  
  2931.   Read PSIZ.
  2932.  
  2933.  pBeg
  2934.  
  2935.   PBEG makes the first vertex of a path active.
  2936.  
  2937.   ■ This command works if ANY vertex of a path intersects the rectangular
  2938.     cursor window.
  2939.  
  2940.   ■ PBEG is useful when the JOIN command is to be used.
  2941.  
  2942.   Read PEND.
  2943.  
  2944.  pEnd
  2945.  
  2946.   PEND makes the last vertex of a path active.
  2947.  
  2948.   ■ This command works if ANY vertex of a path intersects the rectangular
  2949.     cursor window.
  2950.  
  2951.   ■ This command is useful both to find the end of a path and to reopen a
  2952.     closed path.
  2953.  
  2954.   Read PBEG.
  2955.  
  2956.  Plot
  2957.  
  2958.   PLOT calls the plotting program.
  2959.  
  2960.   ■ A plot will be made of the last cell as it was shown in the drawing
  2961.     window.
  2962.  
  2963.   ■ The drawing window center X,Y and width, and the cellname are passed to
  2964.     the plotting program.
  2965.  
  2966.   ■ The plotting program is named in the FORM "plot=" parameter.
  2967.  
  2968.   ■ Presently, the only plotting program is LASI2PGL.EXE.
  2969.  
  2970.   It is possible that you will not have enough contiguous memory available
  2971.   to run a plot program from LASI. If this happens, the program will not
  2972.   execute and you will return to LASI. To remedy this situation, either add
  2973.   more RAM, if possible, and remove or move to high memory any unnecessary
  2974.   resident programs (TSRs), if they are being kept in conventional memory .
  2975.   If this fails, run the plotting program by itself.  Read LASI2PGL help
  2976.   for how to do this.
  2977.  
  2978.  pRev
  2979.  
  2980.   PREV reverses the order of the vertices in a path.
  2981.  
  2982.   ■ ALL paths that have ANY active vertex will be reversed.
  2983.  
  2984.   ■ The original active vertex remains active.
  2985.  
  2986.   Reversing the order allows vertices to be added to either the beginning
  2987.   or end of a path. It also allows paths to be JOINed properly.
  2988.  
  2989.  pSiz
  2990.  
  2991.   PSIZ changes the size of a path while still preserving its shape.
  2992.  
  2993.   ■ The multiplier is 1 for no change, and can be any number that will not
  2994.     cause the path to overflow the drawing area.
  2995.  
  2996.   ■ The geometric center of the path is kept constant.
  2997.  
  2998.   ■ If a small path is resized or if it is made too small, it may change
  2999.     shape due to the limited resolution of the unit grid.
  3000.  
  3001.   ■ PSIZ acts on paths that have ANY vertex active.
  3002.  
  3003.   Use PSIZ to make different sizes of complex polygon figures such as
  3004.   symbols or lettering.
  3005.  
  3006.   Read OVSZ.
  3007.  
  3008.  Put
  3009.  
  3010.   PUT makes single parts of boxes, paths and text inactive.
  3011.  
  3012.   ■ This is the inverse of GET and works the same way.
  3013.  
  3014.   Read FPUT and APUT.
  3015.  
  3016.  qMov
  3017.  
  3018.   QMOV (quick move) functions like the sequence GET, MOV, PUT.
  3019.  
  3020.   ■ Box sides are moved if they INTERSECT the rectangular cursor window.
  3021.  
  3022.   ■ Vertices of paths move if they intersect the cursor window.
  3023.  
  3024.   ■ Text is moved if the reference point intersects the cursor window.
  3025.  
  3026.   ■ Box, path and text layers must be VIEWed and OPENed.
  3027.  
  3028.   ■ The move part of this command accepts a single PKE distance entry.
  3029.  
  3030.   QMOV is useful for making small vertex movements and small box side
  3031.   movements when the path or box is only partly accessible.
  3032.  
  3033.   Read WMOV.
  3034.  
  3035.  Quit
  3036.  
  3037.   QUIT exits from the LASI drawing system to DOS.
  3038.  
  3039.   ■ All current information about the drawing is saved on the hard disk in
  3040.     the drawing directory.
  3041.  
  3042.   ■ The condition of DOS when LASI was entered is restored.
  3043.  
  3044.   The drawing may be reentered by running LASI.EXE again. However, the
  3045.   cells that may have been stored on a RAM disk will be unknown to LASI and
  3046.   will have to be relearned by drawing them once.
  3047.  
  3048.   CTRL-END has the same effect as QUIT.
  3049.  
  3050.  ReNam
  3051.  
  3052.   RENAM changes the name of a cell.
  3053.  
  3054.   ■ Cellnames must conform to DOS filename rules.
  3055.  
  3056.   ■ This command will not work if the new name is the name of a cell that
  3057.     already exists in the cell collection or is a reserved name such as "b"
  3058.     or "p".
  3059.  
  3060.   To give a cell another cell's name in a cell collection, you must first
  3061.   RENAM or KILL the original cell and then RENAM the cell.
  3062.  
  3063.  Res
  3064.  
  3065.   RES calls the resistance calculator.
  3066.  
  3067.   To measure resistance:
  3068.  
  3069.   1. You first must enter the sheet resistance in resistance units/square.
  3070.      This will usually be ohms/square.
  3071.  
  3072.   2. You will next be asked for the End Compensation. This is the number of
  3073.      squares to be added or subtracted to compensate for any effects of
  3074.      resistor heads. This depends on how you draw your resistors and can be
  3075.      a fractional number.
  3076.  
  3077.   3. After you enter the sheet resistance, if a path with ANY active vertex
  3078.      is found, the path will be automatically traced from beginning to end
  3079.      and the total resistance will be displayed. To compensate for corners,
  3080.      half the width is always subtracted from each segment length.
  3081.  
  3082.   4. After a SINGLE path is measured the command will enter manual mode.
  3083.  
  3084.   5. If no path has been found, you will have to manually enter the
  3085.      resistor width, otherwise, the path width is taken as the resistor
  3086.      width.
  3087.  
  3088.   6. In manual mode, at the "<-->" command prompt, the width of the
  3089.      resistor must be measured by a 2-point coordinate input or a single
  3090.      PKE distance entry.
  3091.  
  3092.   7. At the command prompt "R-->", you can then calculate resistance by
  3093.      making 2-point coordinate distance measurements along the length of a
  3094.      resistor. The distance will be displayed by a dashed line, and the
  3095.      incremental resistance and the total resistance will be displayed at
  3096.      the bottom of the screen.
  3097.  
  3098.   8. To end measuring, click the mouse on any menu button except a window
  3099.      command, or press ESC.
  3100.  
  3101.   Note:  To automatically measure a path, it must be a path in the present
  3102.     cell. Paths that are visible but are part of a cell within the present
  3103.     cell must still be manually measured.
  3104.  
  3105.   This command can be used as a ratio parameter calculator. For example, to
  3106.   measure a MOS gate size, set the sheet resistance to 1. Measure the gate
  3107.   width as the resistor width and the gate length as the resistor length.
  3108.  
  3109.  rDrw
  3110.  
  3111.   RDRW redraws the drawing with the layers in descending order.
  3112.  
  3113.   ■ The drawing order rules for lesser cells of DRAW apply to RDRW.
  3114.  
  3115.   This command is useful if you want to overlay fills so that objects that
  3116.   would normally be covered by objects on higher layers remain visible.
  3117.  
  3118.   Read DRAW.
  3119.  
  3120.  Rot
  3121.  
  3122.   ROT rotates objects.
  3123.  
  3124.   ■ Rotation is around a single cursor input point.
  3125.  
  3126.   ■ Boxes, text and cells rotate +/-90, 180 deg.
  3127.  
  3128.   ■ Paths rotate through any angle.
  3129.  
  3130.   ■ Boxes rotate if ALL sides are active.
  3131.  
  3132.   ■ ALL vertices of a path rotate if ANY vertex is active.
  3133.  
  3134.   ■ Text and cells rotate if they are active.
  3135.  
  3136.   Note:  Sometimes a rotated path may not be exactly identical to an
  3137.     original if it has been rotated and then rotated back. This is caused
  3138.     by rounding coordinates to the unit grid each time a rotation is done.
  3139.  
  3140.   Read FLP.
  3141.  
  3142.  Rstr
  3143.  
  3144.   RSTR restores a drawing window.
  3145.  
  3146.   ■ RSTR does not accept keyboard entries in the usual way, that is,
  3147.     terminated by ENTER. It requires only a number key to be pressed.
  3148.  
  3149.   ■ Only the keys 0-9 will execute the command, otherwise the window number
  3150.     will be reasked.
  3151.  
  3152.   ■ Window 0 is always the previous window.
  3153.  
  3154.   ■ Windows 1-9 should have been saved using the SAVE command.
  3155.  
  3156.   ■ The restored drawing window is immediately redrawn.
  3157.  
  3158.   ■ Press ESC to abort RSTR.
  3159.  
  3160.   Note:  RSTR has a LAST WINDOW FEATURE. Whenever a window is changed, the
  3161.     previous window remembered. Reclicking the right mouse button will
  3162.     cause the original window to be restored.
  3163.  
  3164.  Save
  3165.  
  3166.   SAVE saves a drawing window.
  3167.  
  3168.   ■ The windows are numbered 1-9.
  3169.  
  3170.   ■ SAVE does not accept keyboard entries in the usual way, that is,
  3171.     terminated by ENTER. It requires only a number key to be pressed.
  3172.  
  3173.   ■ Only the keys 1-9 are acceptable window numbers, otherwise, the window
  3174.     number will be reasked.
  3175.  
  3176.   ■ Press ESC to abort SAVE.
  3177.  
  3178.   The windows saved are global, that is they are independent of the Cell
  3179.   Mode rank that you are in. The windows are stored in the CONSTS4.DBD file
  3180.   when you quit LASI, and are returned when you rerun the program.
  3181.  
  3182.  Scale
  3183.  
  3184.   SCALE is used to set the name of the physical scale units of the drawing
  3185.   and the number of basic units per physical unit.
  3186.  
  3187.   Rules for setting scales:
  3188.  
  3189.   ■ The scale units name can be anything, but for integrated circuits "um"
  3190.     and "mil" are preferred because some utility programs use these units.
  3191.  
  3192.   ■ Only the first 5 characters will be accepted for the scale name.
  3193.  
  3194.   ■ The number of basic units per physical unit will usually be an integer
  3195.     greater than 1, but fractional scales are permitted.
  3196.  
  3197.   The scale that is set by this command really only relates the basic units
  3198.   in which a drawing is internally done to the inputs that you give to
  3199.   certain questions and to dimensions that you see externally. All inputs
  3200.   and outputs are converted by the scale to and from basic units.
  3201.  
  3202.   When setting up a scale, you should determine the maximum size that your
  3203.   drawing could be and then set your scale so that the maximum number of
  3204.   basic units (65536) is slightly larger than that size. For example, a
  3205.   typical integrated circuit will fit in 16 mm, which would result from
  3206.   using a scale of 4 basic units/micron, or .25um drawing resolution.
  3207.  
  3208.  Set
  3209.  
  3210.   SET allows you to change certain parameters and the actions of certain
  3211.   commands.
  3212.  
  3213.   Presently these parameters can be set:
  3214.  
  3215.   1. The Resolution of the drawing.
  3216.  
  3217.        Resolution = size of drawing window / minimum size of figure.
  3218.  
  3219.   Resolution affects the following:
  3220.  
  3221.   ∙ Boxes are not drawn if both dimensions are less than the minimum size.
  3222.  
  3223.   ∙ Paths or poly are not drawn if the distance from the minimum vertex to
  3224.     the maximum vertex in both dimensions is less than the minimum size.
  3225.  
  3226.   ∙ Paths are drawn as lines if their width is less than the minimum size.
  3227.  
  3228.   ∙ Text is not drawn if its size is less than the minimum size.
  3229.  
  3230.   ∙ The dot grid is not draw if its spacing is less than the minimum size.
  3231.  
  3232.   Note:  Normally, a resolution of 200-500 is about right for standard VGA.
  3233.     Usually there is no need to make the resolution greater than the number
  3234.     of pixels across the drawing window. Occasionally, some small figures
  3235.     may disappear if the resolution is too low. If this is a problem set
  3236.     the resolution higher.
  3237.  
  3238.   2. The Text Spacing Ratio. This is the fraction of the size of text
  3239.      characters with which the characters are spaced. The value is clamped
  3240.      between .5 and 2.
  3241.  
  3242.   3. The number of Double Click Ticks that determine the mouse button
  3243.      double click interval. The number is an integer and is clamped between
  3244.      0 and 32767. A tick is about 1/20 sec.
  3245.  
  3246.   4. The number of Position Report Ticks that determine how often cursor
  3247.      position reports are made in Cell Mode. The number is an integer and
  3248.      will usually be set 0 to 10.
  3249.  
  3250.   5. The  Mickey Multiplier or mouse sensitivity for the x and y-axes
  3251.      respectively. Set these numbers to whatever feels best with your
  3252.      mouse. The range is .1 to 10; 0 defaults to 1.
  3253.  
  3254.   6. The Auto Sort Time. The time before an automatic SORT and backup takes
  3255.      place can be set. The time can be from 1 to 32767 minutes.
  3256.  
  3257.   7. The number of Working Grids that you intend to use can be set so that
  3258.      you won't have to step through extra working grids with the WGRD
  3259.      command.
  3260.  
  3261.   8. The Size of the Working Grids in physical units can be set. You must
  3262.      enter all the grids, but pressing ENTER or ESC keeps the default value
  3263.      in the white box.
  3264.  
  3265.   Press ESC to exit SET anywhere in the sequence.
  3266.  
  3267.  Show
  3268.  
  3269.   SHOW gives information about an object.
  3270.  
  3271.   In System Mode, SHOW gives the following information about a cell:
  3272.  
  3273.   ■ The cell's rank, number in the cell collection and if it is attached.
  3274.  
  3275.   ■ The cell's outline boundaries as found in the cell collection list.
  3276.  
  3277.   ■ The number of cells, boxes, paths (includes text) and vertices in the
  3278.     cell.
  3279.  
  3280.   ■ A listing of the named cell's lesser cells.
  3281.  
  3282.   ■ The number of boxes and paths (includes text) on the layers.
  3283.  
  3284.   In Cell Mode, SHOW gives information on the first active object that it
  3285.   finds in the order. box/path/cell:
  3286.  
  3287.   ■ For a box, the positions of the sides and the layer are shown.
  3288.  
  3289.   ■ For a path, the vertex positions, the layer, the width and an active
  3290.     vertex mark "*" are shown.
  3291.  
  3292.   ■ For text, the reference point, the layer, the size and the characters
  3293.     will be shown.
  3294.  
  3295.   ■ For a cell, the information is similar to the System Mode SHOW, but
  3296.     also includes the position and orientation of the cell.
  3297.  
  3298.   ■ No active object gives the amount of memory still free.
  3299.  
  3300.   Press ESC or click the right mouse button to continue or exit from SHOW.
  3301.  
  3302.  Smsh
  3303.  
  3304.   SMSH smashes any active cells, text or boxes into their component objects
  3305.   and adds them to the current cell. The original active objects are
  3306.   deleted.
  3307.  
  3308.   Rules for SMSHing:
  3309.  
  3310.   ■ Cells are smashed down one rank at a time. You may have to do multiple
  3311.     smashes if you want to reduce higher rank cells all the way to boxes,
  3312.     paths and text.
  3313.  
  3314.   ■ Text is smashed into poly objects that replace the original text. These
  3315.     poly are the same as any other poly, and may be rotated to any angle or
  3316.     given width to make paths. Smashing text can increase the number of
  3317.     paths and vertices considerably if you are not careful.
  3318.  
  3319.   ■ Boxes must have all sides active. A box will be replaced by a five
  3320.     vertex polygon with the same dimensions.
  3321.  
  3322.   Note:  If you try to SMSH any object that will cause any of your object
  3323.     limits to be exceeded, or if you run out of memory, the object will not
  3324.     be smashed but will remain intact and active. You will get a message
  3325.     for each object component that cannot be added. If you are smashing
  3326.     text or boxes you may get a partial poly conversion, but the original
  3327.     object will remain.
  3328.  
  3329.   Important:  Before any object is smashed, the hard disk files DSBKUP.BP4
  3330.     and DSBKUP.CL4 are updated. If you make a mistake and smash the wrong
  3331.     thing, you can use the UNDO command to restore the drawing.
  3332.  
  3333.  Sort
  3334.  
  3335.   SORT cleans, sorts and stores a backup of the drawing.
  3336.  
  3337.   ■ Boxes which have two or more sides superimposed are deleted.
  3338.  
  3339.   ■ Sequential vertices with the same coordinates are deleted.
  3340.  
  3341.   ■ Paths with one or no vertices are deleted.
  3342.  
  3343.   ■ Boxes, paths and text are sorted in ascending order of their
  3344.     Y-position.
  3345.  
  3346.   ■ Cells are sorted by their position in the CELLS4.DBD file.
  3347.  
  3348.   ■ BP4 and CL4 files of the current cell are updated on the hard disk.
  3349.  
  3350.   ■ The backup files SORTBKUP.BP4 and SORTBKUP.CL4 are updated on the hard
  3351.     disk. If the UNDO command is used, these may be used to restore the
  3352.     cell to what it was when the last sort was done.
  3353.  
  3354.   ■ You may stop a long sort by pressing the SPACE bar. Eventually, when
  3355.     objects are in good order, sorting will be fast.
  3356.  
  3357.   Note:  The SORT command will be executed automatically if you do not
  3358.     click either mouse button before the Auto Sort Time times out. This
  3359.     feature protects your drawing if you leave it unattended.
  3360.  
  3361.   Hint:  Sorting should be done periodically while working on a drawing.
  3362.     This not only cleans any defective objects, but also improves drawing
  3363.     speed by ordering the cells.
  3364.  
  3365.  Step
  3366.  
  3367.   STEP steps active objects into an Nx by Ny two-dimensional array.
  3368.  
  3369.   ■ Nx and Ny are presently limited to 1024 max.
  3370.  
  3371.   ■ Stepping distances in X and Y are determined by a 2-point coordinate
  3372.     input. This may also be entered as a single PKE distance entry.
  3373.  
  3374.   ■ The original active objects are copied repeatedly just as though the
  3375.     CPY command was used. The final copied objects remain active, while all
  3376.     previous copies become inactive.
  3377.  
  3378.   ■ Stepping can be ended by pressing the SPACE bar.
  3379.  
  3380.   Note:  Care should be used with this command because you can easily fill
  3381.     up your cell's object capacity if you don't watch your numbers. If this
  3382.     happens press SPACE to end stepping.
  3383.  
  3384.  Sys
  3385.  
  3386.   SYS exits directly from Cell Mode to System Mode.
  3387.  
  3388.   ■ All active objects are made inactive.
  3389.  
  3390.   ■ The current cell is saved on the hard disk in the drawing directory.
  3391.  
  3392.   Note:  Any cells that may have been put on a RAM disk remain known to
  3393.     LASI when you go to System Mode. You lose these only when you QUIT.
  3394.  
  3395.  Text
  3396.  
  3397.   TEXT generates a text object.
  3398.  
  3399.   To generate text you must provide the following:
  3400.  
  3401.   1. The reference point, a single coordinate input point, which is the
  3402.      lower left corner of the character field where the first text
  3403.      character is to be placed.
  3404.  
  3405.   2. The text character string of up to 40 characters terminated by ENTER.
  3406.  
  3407.   The string of text should appear in the drawing made from polygons. The
  3408.   layer and size of the characters will be taken from the current text
  3409.   layer and text size settings, that may be set using the LAYR and WDTH
  3410.   commands. The CLYR and CWTH commands may be used to change the text layer
  3411.   and size.
  3412.  
  3413.   Text Properties:
  3414.  
  3415.   ■ Text is always left justified and appears on a single line. There is no
  3416.     text editor, so you must delete and rewrite any text.
  3417.  
  3418.   ■ You can make the text active using the GET or FGET commands.
  3419.  
  3420.   ■ You may copy, rotate, flip and move the text using the CPY, ROT, FLP
  3421.     and the several types of move commands.
  3422.  
  3423.   ■ Text size will always be in integral multiples of 15 basic units. This
  3424.     is to prevent distortion of the characters.
  3425.  
  3426.   ■ A text object is seen by LASI as a single point, the reference point,
  3427.     and behaves just like a one-vertex path object, except that it is not
  3428.     automatically deleted by SORT and DEL commands.
  3429.  
  3430.   ■ The T key toggles the reference point between visible (a small diamond,
  3431.     same color as text) and invisible. A "T" displayed in the upper right
  3432.     of the screen indicates that reference points are visible.
  3433.  
  3434.   Hint:  To make text characters that are to appear permanently on any IC
  3435.     masks, first make text of the appropriate size and then SMSH the text.
  3436.     Since any characters must have a width that will reproduce on the
  3437.     masks, you will first have to give the smashed poly some width with the
  3438.     CWTH command, and then modify the paths using the MOV, CUT, JOIN, etc.
  3439.     commands to make the characters look better.
  3440.  
  3441.   Read the Text Generation help category for more information.
  3442.  
  3443.  TLC-In
  3444.  TLC-Out
  3445.  
  3446.   TLC-IN and TLC-OUT are commands that call the TLCIN.EXE and TLCOUT.EXE
  3447.   programs which convert internal cell data TO and FROM transportable (TLC)
  3448.   format. "In" means convert TLC files FROM some source TO internal form in
  3449.   your present drawing. "Out" means convert FROM internal form in your
  3450.   present drawing TO some destination in TLC format.
  3451.  
  3452.   With either command, the default source or destination disk drive is the
  3453.   floppy drive that is in the "fdisk=" parameter in the FORM.DBD file. Any
  3454.   acceptable drive or path may be entered in place of that drive.
  3455.  
  3456.   If you want to refer to TLC files in the current drawing directory enter
  3457.   a period "." to the drive question.
  3458.  
  3459.   You may specify up to 10 cellnames separated by spaces.
  3460.  
  3461.   TLC-OUT without any cellname(s) dumps to the destination disk ALL drawing
  3462.   cells as TLC files along with the CELLS.REF file.
  3463.  
  3464.   TLC-IN without any cellname(s) retrieves ALL cells by reading the
  3465.   CELLS.REF file on the Source disk and translating TLC files into internal
  3466.   file form (BP4 & CL4 files).
  3467.  
  3468.   These commands have considerable power since you can also specify the
  3469.   name of any system disk device as the source or destination. You can also
  3470.   give a path as part the disk specification, so that cell files can be
  3471.   TAKEN FROM or SENT TO other directories other than your drawing
  3472.   directory.
  3473.  
  3474.   Unless you are familiar with the use of DOS paths and remember just where
  3475.   you put things, you can get into trouble this way by mixing up the cells
  3476.   in different drawings.
  3477.  
  3478.  
  3479.   Note:  These commands really only run TLCIN.EXE or TLCOUT.EXE as a child
  3480.   process from LASI. It is possible that you might run out of memory, and
  3481.   the program will return a "Not Available" or other error message. If this
  3482.   happens, you must run TLCIN.EXE or TLCOUT.EXE alone in memory. Read the
  3483.   TLC Conversion help category for instructions on running the TLC
  3484.   converters.
  3485.  
  3486.  Undo
  3487.  
  3488.   UNDO aborts the current Cell Mode cell.
  3489.  
  3490.   ■ This command will restore either the original cell that existed when
  3491.     the mode was entered or the cell as it was when the last SORT, DEL or
  3492.     SMSH command was done.
  3493.  
  3494.   ■ Answering anything other than "o", "s" or "d" to the "Restore ..."
  3495.     question cancels the UNDO command.
  3496.  
  3497.   Read the SORT, DEL and SMSH topics.
  3498.  
  3499.  View
  3500.  
  3501.   VIEW sets the layers that will be drawn on the display.
  3502.  
  3503.   ■ Boxes, paths and text that are not VIEWed are blocked from the GET,
  3504.     FGET, WMOV, QMOV, PBEG and PEND commands.
  3505.  
  3506.   ■ Any active boxes or vertices will be drawn as bright white line
  3507.     segments or as bright white vertex marks regardless of the VIEW
  3508.     setting. This allows you to see where any active object are located,
  3509.     which still will be affected by MOV, CPY, ROT, FLP or DEL commands.
  3510.  
  3511.   ■ Each cell rank may have different VIEW parameters.
  3512.  
  3513.   VIEW and OPEN accept layer inputs that can be single layers in any order,
  3514.   or a dash (-) can be used to indicate all inclusive layers between the
  3515.   end layers. A dash alone will give all layers from 1 to 64.
  3516.  
  3517.   Read OPEN.
  3518.  
  3519.  Wdth
  3520.  
  3521.   WDTH sets the default width of paths or text to be ADDed.
  3522.  
  3523.   If the RESIDENT Command is TEXT when WDTH is called, the size of text to
  3524.   be ADDed will be set, otherwise, the default width of paths to be ADDed
  3525.   will be set.
  3526.  
  3527.   For Paths:
  3528.  
  3529.   ■ The present range of acceptable widths is 2 to 1024 basic units.
  3530.  
  3531.   ■ If a pathwidth is entered that is unacceptable, then the prompt will be
  3532.     repeated with the default value in white box.
  3533.  
  3534.   ■ A width of 0 is also acceptable. This produces paths of zero width or
  3535.     polygons (poly).
  3536.  
  3537.   A positive width causes the end of a path to be flush with its
  3538.   coordinate. A negative width produces a path whose end extends half the
  3539.   width beyond the coordinate. This is for Calma compatibility. Use of
  3540.   negative widths is generally discouraged.
  3541.  
  3542.   For text:
  3543.  
  3544.   ■ The size will be adjusted so that it is a integer multiple of 15 basic
  3545.     units.
  3546.  
  3547.   Read CWTH.
  3548.  
  3549.  wGet
  3550.  
  3551.   WGET (window get) is a combination of GET and CGET.
  3552.  
  3553.   ■ Cells, boxes, paths and text are affected the same way as those
  3554.     commands.
  3555.  
  3556.   WGET is useful if you are MOVing large sections of a drawing because you
  3557.   can see just which object are active before the operation. WGET makes
  3558.   active single sides of boxes and single vertices of paths, which are then
  3559.   pulled with active cells when MOVing is done.
  3560.  
  3561.   Read AGET.
  3562.  
  3563.  wGrd
  3564.  
  3565.   WGRD steps through the list of working grids.
  3566.  
  3567.   ■ The working grids should have been entered using the SET command.
  3568.  
  3569.   ■ The present working grid will be shown at the bottom of the screen.
  3570.  
  3571.   ■ Each cell rank may have a different working grid.
  3572.  
  3573.   Note:  WGRD when assigned to a function key accepts a numerical argument.
  3574.     For example, a parameter in the FORM.DBD file "fkey=wgrd,10" assigns a
  3575.     function key so that when the key is pressed the working grid is set to
  3576.     10 physical units. However, if "fkey=wgrd" is the parameter, you will
  3577.     be prompted for a working grid to be set.
  3578.  
  3579.   Read SET and the FORM File General topic.
  3580.  
  3581.  wMov
  3582.  
  3583.   WMOV (window move) moves boxes, paths and cells.
  3584.  
  3585.   ■ The sides of boxes are moved if they are ENCLOSED by the rectangular
  3586.     cursor window.
  3587.  
  3588.   ■ Text and vertices of paths move if they intersect the cursor window.
  3589.  
  3590.   ■ Cells are also moved, but only if the cursor window completely encloses
  3591.     the cell's area. The cell may be drawn fully or be in outline.
  3592.  
  3593.   ■ The first two coordinate points form the cursor window.
  3594.  
  3595.   ■ The next two coordinate points determine the distance to be moved.
  3596.  
  3597.   ■ Box and path layers must be VIEWed and OPENed.
  3598.  
  3599.   ■ The move part of this command accepts a single PKE distance entry.
  3600.  
  3601.   WMOV is useful for stretching large sections of drawings orthogonally,
  3602.   for selectively doing box side movements and for quickly doing small
  3603.   vertex movements.
  3604.  
  3605.  Xpnd
  3606.  
  3607.   XPND expands the width of the drawing window.
  3608.  
  3609.   ■ The new window width is multiplied by 2.
  3610.  
  3611.   ■ The display is redrawn.
  3612.  
  3613.   Continuously XPNDing will eventually cause the window to expand to the
  3614.   maximum size permitted or the whole "universe".
  3615.  
  3616.   Read DRAW and the Universe General topic.
  3617.  
  3618.  Zoom
  3619.  
  3620.   ZOOM reduces the drawing window size.
  3621.  
  3622.   ■ The new drawing window will be the best fit of the rectangular cursor
  3623.     window.
  3624.  
  3625.   ■ The display is redrawn with the new drawing window.
  3626.  
  3627.   ■ ZOOM works over a 1000:1 range.
  3628.  
  3629.   Hint:  To ZOOM to a minimum window at a certain position, click the mouse
  3630.     on that same position twice. This will zoom to the default minimum
  3631.     window size centered at the cursor position.
  3632.  
  3633.   Read DRAW.
  3634.  
  3635. Text Generation
  3636.  
  3637.  Introduction
  3638.  
  3639.   Text is generated by LASI version 4 by storing strings of ASCII
  3640.   characters as though they were a type of path. A reference point is
  3641.   stored as the first vertex, and then subsequent vertices contain up to 4
  3642.   ASCII character bytes. When a string of text is drawn, it is expanded
  3643.   much like a path, except that the characters are drawn in sequence from
  3644.   predefined polygon patterns. A string of text can be thought of as a
  3645.   single path segment, where the character size is equal to the path width
  3646.   and the length is determined by the number of characters.
  3647.  
  3648.   Each character is defined in the Text Font File. (TXT.DBD is the generic
  3649.   file supplied with the system.) This file may have any name other that
  3650.   TXT.DBD, but this name must be installed the FORM.DBD file using the
  3651.   "text=" parameter. Otherwise the default "TXT.DBD" is assumed. Read the
  3652.   FORM File General topic.
  3653.  
  3654.   The Text Font File is a binary file which contains a single record of 128
  3655.   bytes for each of 96 characters. The characters may be drawn and modified
  3656.   using LASI itself. This file is loaded permanently into memory when LASI
  3657.   is started, so that text drawing can be done without slow disk access.
  3658.  
  3659.   When entering text, a position is requested and the size and layer are
  3660.   taken from the current text size and text layer default settings. The
  3661.   text string is then simply typed in and terminated by ENTER. Like paths,
  3662.   text layer, size, orientation and position can be changed using the same
  3663.   commands that are used for paths.
  3664.  
  3665.  The Text Font File
  3666.  
  3667.   The Text Font File is ninety-six 128 byte records long. Each record
  3668.   corresponds to an ASCII character starting at decimal 32 (space) and
  3669.   ending at decimal 127 (delete, non-printing). When LASI draws a
  3670.   character, the correct record is found and the information is used to
  3671.   draw polygons in the drawing.
  3672.  
  3673.   The records may be randomly written using the MAKETXT.EXE program by
  3674.   simply typing the desired character and then giving the name of the cell
  3675.   which contains the character drawing.
  3676.  
  3677.   The vertices of the path pattern are written in a single byte of a record
  3678.   in the form of the X-coordinate as the upper 4 bits and the Y-coordinate
  3679.   as the lower 4 bits (nibbles). The coordinates may then be only the
  3680.   numbers 0-15. The coordinate combination (15,15) is however prohibited
  3681.   because it is used to indicate the end of a path.
  3682.  
  3683.   A record therefore contains vertex coordinate bytes from 0-254, with 255
  3684.   decimal (or FF in hex) bytes marking the end of a path. The remaining
  3685.   bytes in a record are always filled with FF bytes to prevent further
  3686.   paths being made as the record is read.
  3687.  
  3688.   The maximum number of vertices that a record can hold is dependent on the
  3689.   number of independent paths, but can be determined from:
  3690.  
  3691.               total no. vertices = 128 - total no. paths
  3692.  
  3693.  
  3694.   There can be any character drawing in the font pattern corresponding to a
  3695.   given typed character. In fact, different Text Font Files (with different
  3696.   names) can be kept for different uses, and they can be conveniently
  3697.   "turned on" by naming them in the "text=" parameter of the FORM File.
  3698.  
  3699.  The Character Field
  3700.  
  3701.   Characters start as little cells containing a drawing of a character. The
  3702.   data format of the character drawing is quite different from a cell. A
  3703.   character is drawn as a rank 1 cell using paths (of 0 width) on a 16x16
  3704.   (0-15) field of basic drawing units. The paths may be on any layer. The
  3705.   lower left corner of the field is position 0,0. The vertices of the paths
  3706.   fall on the basic unit grid points. The vertices may be on any grid point
  3707.   except 15,15.
  3708.  
  3709.  
  3710.                                               15
  3711.                 . . . . . . . . . . . . . . . x 15  (15,15 not used)
  3712.                 . . . . . . . . . . . . . . . .
  3713.                 . . . . . . . . . . . . . . . .
  3714.                 . . . . . . . . . . . . . . . .
  3715.                 . . . . . . . . . . . . . . . .
  3716.                 . . . . . . . . _ . . . . . . .
  3717.                 . . . . . . . / . \ . . . . . .
  3718.                 . . . . . . / . . . \ . . . . .
  3719.                 . . . . . / . . . . . \ . . . .
  3720.                 . . . . / . . . . . . . \ . . .
  3721.                 . . . / . . . . . . . . . \ . .  ^
  3722.                 . . . | _ _ _ _ _ _ _ _ _ | . .  |
  3723.                 . . . | . . . . . . . . . | . .  Y
  3724.                 . . . | . . . . . . . . . | . .
  3725.                 . . . . . . . . . . . . . . . .
  3726.      (origin) 0 . . . . . . . . . . . . . . . .
  3727.                 0
  3728.                             X -->
  3729.  
  3730.         Character Drawing Field in basic units (Letter A Shown)
  3731.  
  3732.  
  3733.   Once a character cell is drawn, the program MAKETXT.EXE is used to
  3734.   install the character in the Text Font File.
  3735.  
  3736.   Note:  The CHARS.ZIP file that should have been included with LASI 4.3
  3737.     contains TLC files of all the characters in TXT.DBD.
  3738.  
  3739.  Usefulness of Text
  3740.  
  3741.   Text is usually used to mark your drawings with information such as the
  3742.   names of cells or component names and values. Text will be translated
  3743.   with the other drawing data into text in other drawing systems. Text may
  3744.   also be used as a pattern for putting writing on IC masks by smashing the
  3745.   text using the SMSH command and giving the resulting polygons some width.
  3746.  
  3747.   Text objects have a very useful property. Text can be considered as a
  3748.   NAME with a LOCATION. You can therefore use text to mark connection
  3749.   points to cells or subassemblies. You can then search for those points by
  3750.   NAME and obtain a physical location on a drawing. This can be used to do
  3751.   automatic cell placement and interconnection. This means that you can do
  3752.   actual layout from wiring lists used by Spice type programs.
  3753.  
  3754.   Inversely, you can also write programs that locate NODES by POSITION in
  3755.   LASI layouts or schematic drawings and associate TEXT with the NODE. You
  3756.   can therefore write wiring lists for Spice directly from drawings that
  3757.   contain NODE NAMES and DEVICE NAMES written ON the drawing. The utility
  3758.   program LASICKT.EXE works this way.
  3759.  
  3760. TLC Conversion
  3761.  
  3762.  Introduction
  3763.  
  3764.   TLC (Transportable LASI Cells) is a form of LASI cell data that is used
  3765.   for drawing cell data storage and interchange. TLC files are ASCII
  3766.   sequential files written in a well documented form. TLC files are easily
  3767.   readable by programming languages including BASIC and C. TLC is
  3768.   convenient for writing special programs to be used with LASI such as
  3769.   drawing transformation utilities or translators from other drawing
  3770.   systems. (CIF2TLC.EXE, TLC2CIF.EXE and CSF2TLC.EXE are examples.)
  3771.  
  3772.   Each TLC file contains the information needed to construct a single cell.
  3773.   The file contains information on the boxes, paths, text and cells in a
  3774.   cell. It does not contain information on how to make any cells that may
  3775.   be used within a cell. To build a complete drawing you need a COMPLETE
  3776.   set of TLC files.
  3777.  
  3778.   By definition, cell files in TLC are called EXTERNAL files, while cell
  3779.   files used by LASI directly (BP4 and CL4) are called INTERNAL files. TLC
  3780.   files have the extension .TLC in DOS. Internal files are designed for the
  3781.   computers convenience, while external files are designed for human
  3782.   convenience.
  3783.  
  3784.   The program TLCIN.EXE converts external TLC files to internal BP4 and CL4
  3785.   files. The program TLCOUT.EXE converts internal files to external TLC
  3786.   files.
  3787.  
  3788.   Using TLC is the ONLY WAY that cells can be installed in a LASI drawing
  3789.   from an external source. This is because the internal files use a pointer
  3790.   to refer to a cell to save memory space. This pointer is the position in
  3791.   the CELLS4.DBD file of a given cell's information, which cannot be
  3792.   changed without changing all cell references. The programs TLCIN.EXE and
  3793.   TLCOUT.EXE take referencing into account and adjust accordingly.
  3794.  
  3795.   Since each cell has its own TLC file, and a TLC file may not really
  3796.   contain all the information to construct a cell if it has lesser cells
  3797.   within it, the TLC files for the lesser cells will have to be present for
  3798.   conversion to internal form using TLCIN.EXE. When converting to external
  3799.   form, the TLCOUT.EXE converter program is smart enough to make the TLC
  3800.   files of any lesser cells automatically.
  3801.  
  3802.   When conversion from external to internal is being done, the lesser cells
  3803.   will also be made in internal form if they are not already present in the
  3804.   drawing cell collection. You may optionally also replace any cells that
  3805.   are already there with new ones.
  3806.  
  3807.   Since TLC produces a set of files that construct a drawing, TLC files may
  3808.   be conveniently "ZIPPED" together into a "package" using PKZIP or similar
  3809.   compressor. The ZIPPED files may be used as drawing archives, or they may
  3810.   be sent by floppy disk or modem to other locations to share drawings
  3811.   among LASI users.
  3812.  
  3813.  Conversion Errors
  3814.  
  3815.   It is possible that files may be missing, incorrect or there may not be
  3816.   enough memory when converting. TLCIN.EXE and TLCOUT.EXE will try to
  3817.   construct a drawing as best as possible by making a FALSE CELL. A false
  3818.   cell is a cell containing only the name of the cell enclosed in double
  3819.   angle brackets in text on layer 64. The rank of a false cell will always
  3820.   be 1, so that it will always appear in other cells. If a false cell is
  3821.   made, TLC will indicate the error, and continue as well as it can.
  3822.  
  3823.   Since it has rank 1, the false cell will contain no other cells. However,
  3824.   if the error is corrected, and TLCIN or TLCOUT is used to overwrite the
  3825.   false cell, normal cell nesting will be constructed. The false cell may
  3826.   be thought of as a token or placeholder for the missing cell where it is
  3827.   used in other cells. TLCIN or TLCOUT will always try to replace the token
  3828.   cell with the actual cell in the drawing cell collection once the correct
  3829.   information is available to make the actual cell.
  3830.  
  3831.  Pooled Cells
  3832.  
  3833.   When converting internal files to TLC files, TLCOUT.EXE will look for an
  3834.   ATTACHED cell that may be used in a drawing in the POOL directory as
  3835.   listed in the FORM.DBD file. If it doesn't find it, it will produce a
  3836.   token TLC file consisting of the name of the cell in text. It will not
  3837.   look for an attached cell in the drawing directory.
  3838.  
  3839.   When converting from TLC form, TLCIN.EXE will put ALL cells in the
  3840.   DRAWING directory since it has no knowledge (nor should it) of any cells
  3841.   that may have come from a pool. Keep this in mind if you are converting
  3842.   into a drawing.
  3843.  
  3844.  Conversion Options
  3845.  
  3846.   The TLCOUT.EXE program has 2 Conversion Options:
  3847.  
  3848.   1. Convert ALL Cells to TLC:
  3849.      ALL Cells are converted from the source to the destination. This is
  3850.      the standard drawing dump to TLC form.
  3851.  
  3852.   2. Convert NAMED Cells to TLC:
  3853.      NAMED cells are converted to TLC from the source to the destination.
  3854.      Cells that are needed to construct a cell of greater rank are also
  3855.      converted as an option.
  3856.  
  3857.  
  3858.   The TLCIN.EXE program has 2 Conversion Options:
  3859.  
  3860.   1. Convert ALL Cells from TLC:
  3861.      This requires that the CELLS.REF file exist at the source. The names
  3862.      of all the cells at the source are simply read from the CELLS.REF file
  3863.      in that location and are converted as if they had been named
  3864.      individually in Option 2 below. If the CELLS.REF file is missing at
  3865.      the source then Option 2 only may be used.
  3866.  
  3867.   2. Convert NAMED Cells from TLC:
  3868.      NAMED cells are converted to internal files. The CELLS4.DBD file at
  3869.      the destination is augmented with the NAMED cell. If lesser cells are
  3870.      needed they are also converted from the source TLC into internal files
  3871.      at the destination. If the cells are not present at the destination
  3872.      they will be converted automatically. If the lesser cells are present
  3873.      at the destination you will have the option to replace them with new
  3874.      ones. Therefore, to fully reconstruct a cell from TLC, all lesser
  3875.      cells must be present either in the source or destination cell
  3876.      collections in TLC or internal form.
  3877.  
  3878.   When converting back from TLC form, the TLCIN program knows if a cell is
  3879.   in the destination by reading the CELLS4.DBD file. TLCIN will replace the
  3880.   named cell but will OPTIONALLY replace lesser cells, the cells within the
  3881.   named cell. If any cells do not exist in the drawing cell collection they
  3882.   will be made.
  3883.  
  3884.   If the CELLS4.DBD file is not present at the destination, then one will
  3885.   be created.
  3886.  
  3887.   To convert a complete layout drawing from TLC using TLCIN, you start with
  3888.   a blank directory, and name the main drawing cell to be converted, or use
  3889.   the CELLS.REF file as above. The TLCIN program then reconstructs the
  3890.   whole drawing by making all lesser cells first, and then the named main
  3891.   cell.
  3892.  
  3893.   In all options the CONSTS4.DBD file of the source or destination
  3894.   directory is left unaffected. If a drawing is reconstructed from TLC, you
  3895.   must load your favorite CONSTS4.DBD file, or let LASI provide a default
  3896.   one when it starts up.
  3897.  
  3898.  Running TLCIN or TLCOUT
  3899.  
  3900.   When running either TLC program you pass parameters as arguments on the
  3901.   DOS command line. Arguments are separated by one or more spaces.
  3902.  
  3903.   The FIRST is the SOURCE path, the disk name or "." for the current
  3904.   directory.
  3905.  
  3906.   The SECOND is the DESTINATION path, the disk name or "." for the current
  3907.   directory.
  3908.  
  3909.   The NEXT parameters are needed only if the NAMED cell option is used, and
  3910.   is a list of up to 10 cellnames to be converted.
  3911.  
  3912.   Hint:  Run the TLCIN or TLCOUT  without any arguments to get HELP.
  3913.  
  3914.   Important:  If you use POOLED cells and run TLCOUT, the FORM.DBD file
  3915.     must be present in the source directory. TLCOUT.EXE needs this
  3916.     information to find the cells.
  3917.  
  3918.  
  3919.   Things to remember when converting:
  3920.  
  3921.     The first TWO parameters MUST be present on the command line or you
  3922.     will get the help message.
  3923.  
  3924.     For either option 1 above, the file CELLS4.DBD or CELLS.REF must be in
  3925.     the source directory.
  3926.  
  3927.     If there are no NAME parameters, option 1 is assumed.
  3928.  
  3929.  The CELLS.REF File
  3930.  
  3931.   As TLC makes it, the CELLS.REF file is a copy of CELLS4.DBD.
  3932.  
  3933.   You may change the CELLS.REF file to convert modified lists of cells into
  3934.   Internal form.
  3935.  
  3936.   To remove a cell, delete the cell's name and the data line that follows
  3937.   it in the CELLS.REF file.
  3938.  
  3939.   To add a cell, insert the cell's name on a single line and then the
  3940.   cell's rank on the next line. You don't need any additional data on the
  3941.   second line.
  3942.  
  3943.   The entry on the first line of the CELLS.REF file is the number of cells
  3944.   in the file. If you add or delete cells, you should adjust this number.
  3945.   When TLC converts to Internal form using CELLS.REF, it counts either to
  3946.   the number of cells it reads on the first line or to the end of the file,
  3947.   whichever comes first.
  3948.  
  3949.   Do all this with a text editor that produces standard DOS text files.
  3950.  
  3951.  TLC Format
  3952.  
  3953.   Cell files in TLC have a record structure. There are presently five kinds
  3954.   of records: Header, Cell, Box, Path and Text.
  3955.  
  3956.   The records for the objects in the cell are preceded by an "equals code"
  3957.   consisting of two characters: the first is "=" and the second is "H",
  3958.   "C", "B", "P" an "T" for Header, Cell, Box, Path or Text respectively.
  3959.   The TLC program then looks for the type of object to be made and acts
  3960.   accordingly. If at some time in the future, other objects are added to
  3961.   LASI, similar code will be used.
  3962.  
  3963.   If a data error is encountered during translation, it is possible that
  3964.   one or two objects may be incorrectly reconstructed from TLC. The equals
  3965.   code will try to resynchronize the data and correct translation will then
  3966.   resume. The Header record contains an object count and this is compared
  3967.   to the actual number of objects made, and miscounts are indicated by the
  3968.   TLC program as errors.
  3969.  
  3970.   All records, including the Header, may be written in any order in a file.
  3971.  
  3972.   When writing programs in C that read TLC files, try to read the file line
  3973.   by line using fgets() and then parse the line using strtok(). This helps
  3974.   to resynchronize if there is a data error.
  3975.  
  3976.  Records in Detail
  3977.  
  3978.   Header Record:      <nl>= carriage return + linefeed    <sp>= space
  3979.  
  3980.       1= =H<nl>
  3981.       2= Name of Cell (DOS file name)<nl>
  3982.       3= Version of LASI (literal)<nl>
  3983.       4= Version of TLC (literal)<nl>
  3984.       5= Basic Units per Physical Unit<nl>
  3985.       6= Name of Physical Unit (literal)<nl>
  3986.       7= Date of Cell Conversion (literal)<nl>
  3987.       8= Time of Cell Conversion (literal)<nl>
  3988.       9= Rank of Cell<sp>
  3989.       10= Left Outline Boundary in basic units<sp>
  3990.       11= Bottom Boundary in basic units<sp>
  3991.       12= Right Boundary in basic units<sp>
  3992.       13= Top Boundary in basic units<nl>
  3993.       14= Number of Boxes<sp>
  3994.       15= Number of Paths<sp>
  3995.       16= Number of Vertices<sp>
  3996.       17= Number of Cells<nl>
  3997.  
  3998.       Note:  Versions must begin with a numeric character
  3999.  
  4000.   Cell Record Entries:
  4001.  
  4002.       1= =C<nl>
  4003.       2= Name of Lesser Cell<nl>
  4004.       3= Orientation (see below)<sp>
  4005.       4= X Position in basic units<sp>
  4006.       5= Y Position in basic units<sp>
  4007.       6= reserved (presently zero)<nl>
  4008.  
  4009.       Property Number: (0-15)
  4010.         16 bit integer, all bits 0 except:
  4011.  
  4012.           Bit 4,
  4013.             0= draw cell fully
  4014.             1= draw cell outline
  4015.  
  4016.         Orientation:
  4017.           Bit 3,
  4018.             0= cell not flipped
  4019.             1= cell is flipped in X before rotation
  4020.  
  4021.           Bits 2 and 1,
  4022.             0,0 = no rotation
  4023.             0,1 = 90 deg rotation CCW
  4024.             1,0 = 180 deg rotation CCW
  4025.             1,1 = 270 deg rotation CCW
  4026.  
  4027.   Box Record Entries:
  4028.  
  4029.       1= =B<nl>
  4030.       2= Layer of Box<sp>
  4031.       3= X of Lower Left Corner in basic units<sp>
  4032.       4= Y of Lower Left Corner in basic units<sp>
  4033.       5= X of Upper Right Corner in basic units<sp>
  4034.       6= Y of Upper Right Corner in basic units<nl>
  4035.  
  4036.   Path/Poly Record Entries:
  4037.  
  4038.       1= =P<nl>
  4039.       2= Layer of Path/Poly<sp>
  4040.       3= Width in basic units<sp>
  4041.       4= No. of Vertices in path/poly<nl>
  4042.       5= Vertices in basic units in the form:
  4043.       X1<sp>Y1<sp>X2<sp>Y2<sp>X3<sp>Y3<sp>X4<sp>Y4<sp>X5<sp>Y5<nl>
  4044.       .......Xn-1<sp>Yn-1<sp>Xn<sp>Yn<nl>
  4045.  
  4046.       (Groups of 5 coordinates separated by <sp> ended by <nl>,
  4047.       always with <nl> after Last Coordinate Pair)
  4048.  
  4049.   Text Record Entries:
  4050.  
  4051.       1= =T<nl>
  4052.       2= Layer of Text<sp>
  4053.       3= Size in basic units<sp>
  4054.       4= No. of Vertices used by text (includes Ref Point)<sp>
  4055.       5= Orientation 0-7 (same as cells)<nl>
  4056.       6= X Ref Point in basic units<sp>
  4057.       7= Y Ref Point in basic units<nl>
  4058.       8= ASCII character text string<nl> (u/l case, up to 32 characters)
  4059.  
  4060. System Contents
  4061.  
  4062.  LASI System Files
  4063.  
  4064.   LASI.EXE        LASI boot program
  4065.   LASI87.EXE      Main drawing program for coprocessor
  4066.   LASIA.EXE       Main drawing program without coprocessor
  4067.   LASI2CSF.EXE    LASI to Calma Stream (GDSII) converter
  4068.   LASIDRC.EXE     LASI layer logic design rule checker
  4069.   LASICKT.EXE     LASI SPICE code generator
  4070.   CSF2TLC.EXE     Calma Stream (GDSII) to TLC converter
  4071.   LHI.EXE         LASI help and information reader
  4072.   LASI2PGL.EXE    Hewlett-Packard HP-GL plotter utility
  4073.   MAKETXT.EXE     Text font file maker utility
  4074.   MANUAL.EXE      Manual printer utility
  4075.   TLCIN.EXE       Transportable cell file "in" converter
  4076.   TLCOUT.EXE      Transprorable cell file "out" converter
  4077.  
  4078.   CELLSORT.EXE    Cell sorting utility
  4079.   CMDLAYER.EXE    Drawing global layer copy/move/delete utility
  4080.   RESIZE.EXE      Resizing utility
  4081.   SNAP.EXE        Cell grid snapping utility
  4082.   TILT.EXE        Drawing tilting 3-D presentation utility
  4083.   UNDUP.EXE       Drawing duplicate object remover utility
  4084.  
  4085.   TLC2CIF.EXE     LASI TLC format to CIF format converter
  4086.   CIF2TLC.EXE     CIF format to LASI TLC format converter
  4087.  
  4088.   3TO4.COM        LASI vers 3 to vers 4 converter
  4089.   4TO43.COM       LASI 4.? to 4.3 CONSTS4.DBD file converter
  4090.   DMHCPY.COM      Screen hardcopy for dot matrix FX or LQ type printers
  4091.   LJHCPY.COM      Screen hardcopy for LaserJet type printers
  4092.  
  4093.   FORM.DBD        Generic configuration file
  4094.   TXT.DBD         Generic text character file
  4095.  
  4096.   LHI.HLP         LASI help and information text file
  4097.   LASIDRC.HLP     LASIDRC help text file
  4098.   LASICKT.HLP     LASICKT help text file
  4099.   LASI2PGL.HLP    LASI2PGL help text file
  4100.   LASI2CSF.HLP    LASI2CSF help text file
  4101.   LASIDSS.HLP     Data structure help text file
  4102.  
  4103.   INSTALL.EXE     Install program for LASI
  4104.   DEMO.EXE        Self-extracting demonstration files
  4105.   DEMO.ZIP        Demonstration files for network distribution
  4106.   CHARS.ZIP       Text character cell collection (use PKUNZIP 2.0)
  4107.  
  4108. System Log
  4109.  
  4110.  System Update Log for Version 4
  4111.  
  4112.   Changes in Version 4.0:
  4113.  
  4114.   The LASI drawing programs have been completely rewritten in a combination
  4115.   of C and Assembly Language. Many new features have been added:
  4116.  
  4117.   1. Text objects, which retain the ASCII character identity and which use
  4118.      much less memory than the previous text that was generated from poly
  4119.      objects. The new text is treated as a modified poly object and may be
  4120.      rotated and reflected using the same commands. Since it keeps its
  4121.      ASCII identity, the new text may be translated as true text into other
  4122.      drawing systems.
  4123.  
  4124.   2. New internal data format, which uses less memory and loads faster. A
  4125.      conversion program 3TO4.COM is supplied to change the old format into
  4126.      the new format.
  4127.  
  4128.   3. VGA 640x480 pixel display mode support, with automatic VGA sensing,
  4129.      but an optional EGA 640x350 display mode.
  4130.  
  4131.   4. User definable function keys that allow any command formerly needing
  4132.      mouse or keyboard input to be executed by simply pressing a function
  4133.      button. (40 keys, F1-10, SHIFT F1-10, CTRL F1-10, ALT F1-10)
  4134.  
  4135.   5. An oversize command OVSZ that replaces the BPEXP.EXE program
  4136.      previously supplied, that allows boxes, poly and paths to be expanded
  4137.      or compressed by a constant distance.
  4138.  
  4139.   6. Different dashed line patterns that are assigned as an attribute to
  4140.      each drawing layer.
  4141.  
  4142.   7. A drawing cell collection that can now hold 500 different cells in
  4143.      place of 255 as with previous versions.
  4144.  
  4145.   8. New hardcopy programs that work with VGA or EGA automatically.
  4146.  
  4147.   9. A WGRD command that when assigned to a function key accepts working
  4148.      grid size arguments.
  4149.  
  4150.   10. A CMOV command that moves cells only.
  4151.  
  4152.   11. Improved RES and CAP commands with automatic measuring.
  4153.  
  4154.   12. Different text fonts may now be included in the FORM File.
  4155.  
  4156.   13. The cursor can now be toggled between a small cross and crosshairs.
  4157.  
  4158.   14. LASI.EXE now works only with a coprocessor. Another version LASIA.EXE
  4159.      is supplied for non-coprocessor computers.
  4160.  
  4161.   15. TLC.EXE now generates token files for missing or incorrect cells.
  4162.  
  4163.   16. outlined cells now have their name in the lower left corner
  4164.  
  4165.   17. OUTL and FULL commands now work directly, not only on active cells,
  4166.      and these commands are now resident commands.
  4167.  
  4168.   18. A cells history feature has been added that allows you to retrace a
  4169.      series of nested cells.
  4170.  
  4171.   19. The JOIN command now closes open polygons.
  4172.  
  4173.   20. The working and unit cursor grids can be toggled by pressing the A
  4174.      key or the ALT key.
  4175.  
  4176.   21. The effect of the cursor window on certain cell commands can be
  4177.      changed by double clicking the mouse.
  4178.  
  4179.   22. The Calma conversion programs LASI2CSF.EXE and CSF2TLC.EXE now have
  4180.      more elaborate text conversion facilities.
  4181.  
  4182.   23. The SMSH command now works on text and boxes.
  4183.  
  4184.   24. The Calma Stream converter now allows open polygons to be converted
  4185.      optionally to closed boundaries or zero width paths.
  4186.  
  4187.  
  4188.   Changes in Version 4.1:
  4189.  
  4190.   1. Rank 1 cells can now be taken from a common "pool" directory and be
  4191.      used in any drawing. Using this feature several PCs can be NETWORKED
  4192.      together with common access to basic cells.
  4193.  
  4194.   2. The ATTACH and IMPORT commands have been added to be used with cells
  4195.      from the "pool".
  4196.  
  4197.   3. Missing cell files (BP4 and CL4) now cause a dotted outline to be
  4198.      drawn.
  4199.  
  4200.   4. VESA compatible VGA 800x600 16 color graphics mode is now supported.
  4201.  
  4202.   5. A monochrome gray scale mode has been added for VGA monochrome
  4203.      monitors and laptop computers with VGA displays.
  4204.  
  4205.   6. There are now 64 layers (1-64) available.
  4206.  
  4207.   7. The design rule checking program LASIDRC.EXE is now included.
  4208.  
  4209.   8. The help program LHI.EXE can now do searches for individual topics.
  4210.  
  4211.   9. The mouse now uses direct movement information so that the cursor
  4212.      should work properly in all display modes regardless of the mouse
  4213.      driver you use.
  4214.  
  4215.   10. Most commands now abort if ESC is pressed.
  4216.  
  4217.   11. A sort and backup of a drawing is done after a certain amount of time
  4218.      if LASI is left unattended.
  4219.  
  4220.   12. A backup of a cell drawing is made if any deleting or smashing is
  4221.      done.
  4222.  
  4223.   13. The OCTO command no longer cancels any command in progress.
  4224.  
  4225.   14. Help on a command may now called directly by putting the mouse cursor
  4226.      on a command button and pressing F1.
  4227.  
  4228.   15. The program MANUAL.EXE has been added that prints a manual.
  4229.  
  4230.   16. The T key now toggles the text reference point on and off.
  4231.  
  4232.   17. The CPYLAYER.EXE, MOVLAYER.EXE and DELLAYER.EXE utility programs have
  4233.      been condensed into a single CMDLAYER.EXE utility program.
  4234.  
  4235.   18. There are now indicators on the display for the N,C and T toggle
  4236.      keys.
  4237.  
  4238.   19. The TILT.EXE utility program now replaces paths with a polygon
  4239.      boundary so that it can correctly tilt the image.
  4240.  
  4241.   20. The LASIDRC.EXE program has had its inter-layer and coverage tests
  4242.      enhanced so that they can check for intersections and incomplete
  4243.      coverage.
  4244.  
  4245.   21. The two versions of the drawing program (now called LASI87.EXE and
  4246.      LASIA.EXE) are now run through the boot program LASI.EXE which
  4247.      determines if a coprocessor is present.
  4248.  
  4249.   22. All line printer outputs from any utility programs are now always
  4250.      directed to LPT1 and produce CR-LF character sequences for new lines.
  4251.  
  4252.   23. The number of active paths is now listed on the display.
  4253.  
  4254.   24. The "vmode=" parameter in the FORM.DBD file now accepts multiple
  4255.      arguments for more versatile display configurations.
  4256.  
  4257.   Changes in Version 4.2
  4258.  
  4259.   1. All object data memory is controlled by a "object manager" which is
  4260.      used by LASI itself and many of the utility programs.
  4261.  
  4262.   2. The parameters in the FORM file to allocate memory for objects are no
  4263.      longer needed.
  4264.  
  4265.   3. The connection between the number of cells and the rank depth has been
  4266.      eliminated.
  4267.  
  4268.   4. Certain cell editing commands now operate on cells by NAME.
  4269.  
  4270.   5. The TLC.EXE program has been replace by two new programs TLCIN.EXE and
  4271.      TLCOUT.EXE which work faster and are object managed.
  4272.  
  4273.   6. The design rule checker LASIDRC.EXE has been replaced by a new version
  4274.      that is a generalized programmable version of the old design rule
  4275.      checker.
  4276.  
  4277.   7. The ABRT command is now called UNDO.
  4278.  
  4279.   8. The TLYR and TWTH commands have been added to set text and path layers
  4280.      and widths independently.
  4281.  
  4282.   9. The CTRL-END key combination now saves all files and causes an exit to
  4283.      DOS from Cell or System Modes.
  4284.  
  4285.   10. Typed inputs now have a field box that limits the number of
  4286.      characters that can be entered.
  4287.  
  4288.   11. The program LASICKT.EXE has been added which analyzes schematics or
  4289.      layouts done by LASI and produces SPICE circuit files from them.
  4290.  
  4291.   12. The demonstration layout (condensed in DEMO.EXE or DEMO.ZIP) has been
  4292.      included in the main distribution and has been modified to demonstrate
  4293.      SPICE file generation using LASICKT.EXE.
  4294.  
  4295.   Changes in Version 4.3
  4296.  
  4297.   1. C language programs are now compiled using Microsoft C/C++8.0.
  4298.  
  4299.   2. A new version of LASI2CSF.EXE has been included, that is smaller,
  4300.      faster, and has hopefully has a more intuitive setup.
  4301.  
  4302.   3. Most of utility program help information can now be called from the
  4303.      program itself.
  4304.  
  4305.   4. The keyboard input editors on LASI and utility programs have been made
  4306.      more convenient.
  4307.  
  4308.   5. Menu buttons have been made more graphical.
  4309.  
  4310.   6. The information display in Cell Mode has been revised.
  4311.  
  4312.   7. Ctrl-C no longer aborts LASI back to MS-DOS.
  4313.  
  4314.   8. Distance measuring has been changed slightly so that the marker can be
  4315.      toggled on and off.
  4316.  
  4317.   9. The mouse sensitivity can now be changed in Cell Mode with the SET
  4318.      command.
  4319.  
  4320.   10. Cursor position reporting time can now be changed in Cell Mode with
  4321.      the SET command.
  4322.  
  4323.   11. The VIEW and OPEN parameters may now be different for each cell rank.
  4324.  
  4325.   12. The TLYR and TWTH commands in LASI 4.2 have been replaced by new
  4326.      context sensitive LAYR and WDTH commands.
  4327.  
  4328.   13. A new single conversion program 4TO43.COM updates previous
  4329.      CONSTS4.DBD files.
  4330.  
  4331.   14. The boundaries of the mouse cursor window now work on path vertex
  4332.      points and text reference points.
  4333.  
  4334. Suggestion Box
  4335.  
  4336.  Suggestions from Users of LASI
  4337.  
  4338.   Unlike commercial software, that may be designed by committee, LASI
  4339.   receives feedback from its users. Since LASI is rather democratic (within
  4340.   limits), people are encouraged to contribute ideas of their own, or, even
  4341.   better, to write programs for themselves that do useful things. Contact
  4342.   the author with your ideas or requests.
  4343.  
  4344.   These are some of the ideas for LASI improvements or for special programs
  4345.   that operate in the LASI drawing environment, listed somewhat in order of
  4346.   priority. Some are fairly ambitious. These changes and new programs are
  4347.   more or less in progress. Expect to see these in future releases of LASI.
  4348.  
  4349.  
  4350.   1. Arrays of Cells - In many applications such as MOS power devices or
  4351.      imaging arrays, a large number of repetitions of a cell may be used.
  4352.      This would be better handled by using an extended cell object which
  4353.      consists of a 2-dimensional rectangular array of a single cell.
  4354.  
  4355.   2. A 32-bit LASI - another version of the LASI (Version 5, "LASI PRO")
  4356.      that uses 32-bit position information instead of 16-bit. This would
  4357.      give almost unlimited precision and drawing size, but would use more
  4358.      memory and run slightly slower. This would be compatible with 16-bit
  4359.      LASI drawings but may lose resolution if translated back to 16-bit.
  4360.      TLC would be used as the common data format. The additional memory
  4361.      required may make using EMS or XMS necessary.
  4362.  
  4363.   3. Use of XMS or EMS Memory - the memory management in LASI 4.3 can be
  4364.      modified to swap blocks of data to extended (XMS) or expanded (EMS)
  4365.      memory to increase its data capacity. However, experience seems to
  4366.      indicate that large amounts of "flat" data are not really necessary,
  4367.      since a hierarchical drawing structure is a more efficient way to
  4368.      handle large numbers of objects. Using EMS or XMS has certain
  4369.      drawbacks such as "lost" memory areas if correct exit procedures are
  4370.      not followed, as well as slower drawing operations. EMS or XMS will be
  4371.      added only if there is a user demand for it.
  4372.  
  4373.   4. Automatic Placement and Interconnect - a utility program that takes
  4374.      connection information from lists used by simulation programs (SPICE)
  4375.      and uses the node property of LASI text to place and interconnect
  4376.      cells. This will probably only work well on standardized ICs such as
  4377.      ASICs and some simpler analog and digital circuits. The program would
  4378.      however produce a starting point from which "human layout techniques"
  4379.      would be used to complete an IC.
  4380.  
  4381.   5. Device Model Extraction - a utility program that measures various
  4382.     electrical device model parameters from the actual device layout
  4383.     drawing and produces a Spice .MODEL definition from it. This would then
  4384.     be used with LASICKT.EXE or directly in a Spice analysis. Doing this
  4385.     would require considerable interaction with the user and knowledge of
  4386.     the intricacies of the process used to make any device or IC. Contact
  4387.     the author if you have any interest in this.
  4388.  
  4389.